|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def file_replace(filename,old_word,new_word):
- f = open(filename,'r+')
- counts = 0
- for eachline in f:
- if old_word in eachline:
- counts += 1
-
- print("文件%s中共有%d个【%s】" % (filename,counts,old_word))
- print("你确定要把所有的【%s】替换为【%s】吗" % (old_word,new_word))
- flag = input("【YES/NO】:")
-
- if flag == 'yes':
- return True
- else:
- return False
- while flag:
- f.readline().repalce(old_word,new_word)
- f.close()
- filename = input("请输入文件名(c:\\test.txt):")
- old_word = input("请输入需要替换的单词或字符串:")
- new_word = input("请输入新的单词或字符串:")
- file_replace(filename,old_word,new_word)
复制代码
输入yes后,没有替换字符
问题应该在: f.readline().repalce(old_word,new_word)。
f.readline()返回的是字符串,然后replace,不能写入文件?
这个是不是只能替换一行?
本帖最后由 冬雪雪冬 于 2020-2-3 18:14 编辑
帮你改了一下:
- def file_replace(filename,old_word,new_word):
- f = open(filename)
- counts = 0
- for eachline in f:
- if old_word in eachline:
- counts += 1
-
- print("文件%s中共有%d个【%s】" % (filename,counts,old_word))
- print("你确定要把所有的【%s】替换为【%s】吗" % (old_word,new_word))
- flag = input("【YES/NO】:")
-
- if flag == 'yes':
- content = []
- content.append(each.replace(old_word,new_word))
- f.close()
- f = open(filename, 'w')
- f.writelines(content)
- f.close()
- f.close()
-
- filename = input("请输入文件名(c:\\test.txt):")
- old_word = input("请输入需要替换的单词或字符串:")
- new_word = input("请输入新的单词或字符串:")
- file_replace(filename,old_word,new_word)
复制代码
|
|