|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def replace_file_word(file_name,old_word,new_word):
f=open(file_name)
count=0
concent=[]
for each_line in f:
if old_word in each_line:
count+=each_line.count(old_word)#小甲鱼这里的是’count=each_line.count(old_word)‘然后每次运行显示都是'1'
each_line=each_line.replace(old_word,new_word)
concent.append(each_line)#小甲鱼这里是’concent=concent.append(each_line)‘,然后每次报错NoneType
#else:
# print('您要替换的词不存在')
decide=input('\n文件%s中%s共出现%d次,是否用%s替换%s【yes/no】:'%(file_name,old_word,count,new_word,old_word))
if decide in 'yes,Yes,YES,yES,yEs,yeS':
file_write=open(file_name,'w')
file_write.writelines(concent)
file_write.close()
else:
print('文件不改变')
f.close()
file_name=input('请输入文件名【路径】:')
old_word=input('请输入被替换的词:')
new_word=input('请输入要替换的新词:')
replace_file_word(file_name,old_word,new_word)
后来经过百度并且加修改能够完美运行,每次显示‘1’是因为计数记的是每一行将要替换词的次数并不是文件中所有行中要替换词的次数,报错是因为append会修改concent本身,并且返回None。不能把返回值再赋值给concent |
|