一个简单的文件字符替换代码

思路:直接遍历文件的所有行,对于每一行进行目标字符串换,并将替换后的内容保存到一个列表中。最终用 file.writelines() 函数将替换后的内容重新写入文件即可。

当然,这个方法相当于将所有文件内容都读了一边并且写了一遍。我们可以直接在读的同时替换效率更高一些,但其代码同样简单,就不写了。。

代码:

 1 # 用户输入"xxx.txt"类文档文件名
 2 
 3 # 用户输入被替换的"待替换字"
 4 
 5 # 用户输入替换目标"新的字"
 6 
 7 # 用户判断是否全部替换 yes/no
 8 
 9 def file_replace(file_name, rep_word, new_word):
10     f_read = open(file_name)
11 
12     content = []
13     count = 0
14 
15     for eachline in f_read:
16         if rep_word in eachline:
17             count = count + eachline.count(rep_word)
18             eachline = eachline.replace(rep_word, new_word)
19         content.append(eachline)
20     print('===========')
21 
22     decide = input('
文件 %s 中共有 %s 个【%s】
您确定要把所有的【%s】替换为【%s】么?
【yes/no】:'
23          %(file_name, count, rep_word, rep_word, new_word))
24 
25     if decide in ['yes', 'Yes', 'YES']:
26         f_write = open(file_name, 'w')
27         f_write.writelines(content)
28         f_write.close()
29         print('更改成功')
30     else:
31         print('您放弃了更改')
32 
33     f_read.close()
34 
35 file_name = input('请输入文件名(请输入绝对路径):')
36 rep_word = input('请输入要替换的单词或字符: ')
37 new_word = input('请输入新的字符: ')
38 file_replace(file_name, rep_word, new_word)
View Code
原文地址:https://www.cnblogs.com/geloutingyu/p/8601202.html