|
|
10鱼币
本帖最后由 欣欣celin 于 2014-8-5 21:08 编辑
def file_replace(file_name, rep_word, new_word):
f_read = open(file_name)
content = [] #这个作用是神马?理解不了,求大虾指点指点{:7_174:}
count = 0
for eachline in f_read:
if rep_word in eachline:
count += 1
eachline = eachline.replace(rep_word, new_word)
content.append(eachline)
#这个for是否实现,将要替换的词和词,先模拟替换并存在content里,一旦以下decide确认YES就直接把content里的内容写到文件中去,的意思??
decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:' \
% (file_name, count, rep_word, rep_word, new_word))
if decide in ['YES', 'Yes', 'yes']:
f_write = open(file_name, 'w')
f_write.writelines(content)
f_write.close()
f_read.close()
file_name = input('请输入文件名:')
rep_word = input('请输入需要替换的单词或字符:')
new_word = input('请输入新的单词或字符:')
file_replace(file_name, rep_word, new_word)
|
最佳答案
查看完整内容
content = [] 这句是创建一个空的列表,之后用来存储替换过后的字符串
for eachline in f_read: #每次读取文件的一行
if rep_word in eachline: #如果要替换的词在这一行中
count += 1 #记录需要替换的行数 +1
eachline = eachline.replace(rep_word, new_word) #执行替换
content.append(eachline) # 不管需不需要替换,都添加到列表中
|