|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
鱼鱼们早上好
这是我看旧版课程写出的文件替换,因为自己不会而想分享一下,不是全自己写的,思路说是话好多问AI的,
而且字符串的内置几乎都没记住全靠鱼总的扩展阅读
哪里错了请指正,谢谢
有更好的办法完善更好,我也好学学,谢谢啦
我没运行,我没运行,我没运行
这是个半成品
# 编写一个程序,实现“全部替换”功能。
# 流程:
# 用户——输入需要替换的文件名字——需要替换的单词或者字符串——输入新的单词或字符串
# 我方——接受对方文件名——接受对方单词or字符串——接受对方新的单词or字符串
#设置函数需要三个传入参数(因为—接受对方文件名—接受对方单词or字符串—接受对方新的单词or字符串)
#打开临时只读文件——处理文件替换需要用什么 1.空列表用于存储处理后的每一行内容 2.计数器归零,用于统计总共要替换的单词数量
#所以需要用两个初始变量 一个赋值空列表 一个赋值为0
#因为要全部替换 所以要把文件全都过滤 要用 for XX in 打开文件:
# 把 临时过滤赋值 插入 旧内容 , 计算次数 ,替换文件到新文件 因为之前建立用的 列表 所以要用列表的方式
#增加确定项目 判断 用户输入 确定 打开 临时写入文件 把之前的列表写入临时写入文件 关闭临时写入 关闭临时只读
def Replace(file_name,rep_name,new_name):
f_read = open(file_name,'r',encoding='utf-8')
none_list = [ ]
count = 0
for filter_content in f_read: # filter _ content 过滤器 _ 内容
if rep_name == filter_content:
count = filter_content.count(rep_name) + count
filter_content = filter_content.replace(rep_name,new_name)
none_list.append(filter_content) #把过滤器内容添加到建立的空列表中
#{ .count(sub[, 起始位[, 结束位]]) }返回 sub 在字符串中不重叠的出现次数,可选参数起始结束
#replace(old, new, count=-1) 返回一个将所有 old 参数指定的子字符串替换为 new 的新字符串;
# count 参数指定替换的次数,默认是 -1,表示替换全部
Determine_the_project = input(f'''{file_name}文件的{rep_name}内容共{count}全部替换为{new_name}新内容吗?\n
如果确认请输入 : _yes_\n如果不确认请输入: _no_\n''')
if Determine_the_project == '_yes_':
f_write = open(file_name,'w',encoding='utf-8')
f_write.writelines(none_list)
f_write.close()
f_read.close()
file_name = input('请输入文件名') #file文件名
rep_name = input('请输入需要替换的旧内容') #rep代表名
new_name = input('请输入代替旧内容的新内容') #new新名
Replace(file_name,rep_name,new_name) # Replace 替换 |
|