|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【小甲鱼第29课课后习题第四题-全部替换】
程序如下:
file_name = input ("请输入文件名:")
file = open('file_name','r')
old_word = input("请输入需要替换的单词或字符:")
new_word = input ("请输入新的单词或字符:")
file_list = list(file)
s = 0
for each_line in file_list :
count = each_line.count(old_word)
s = s + count
print(each_line)
print ("文件%s中共有%d个'%s'字"%(file_name,s,old_word))
print("确定要把所有的'%s'字改为'%s'吗?"%(old_word,new_word))
answer = input ("【yes /no】:")
if 'y' in answer :
for each_line in file_list :
each_line.replace(old_word,new_word)
file.close()
new_file = open ('file_name','w')
new_file.writelines(file_list)
new_file.close()
文件如下:
明月几时有
把酒问青天
不知天上宫阙
今夕是何年
运行结果如下:
请输入文件名:something.txt
请输入需要替换的单词或字符:有
请输入新的单词或字符:没有
文件something.txt中共有0个'有'字
确定要把所有的'有'字改为'没有'吗?
【yes /no】:y
为什么系统没有找出来目标字符呢?
你的程序第二行open文件时,写错了,file_name不应该加引号,这样你打开的就不是你输入文件名的文件了,而是一个名为file_name的文件。若你的在本地路径刚好有一个该名字的文件,则能打开,否则就会报错。
程序末尾处的open也有同样的问题
|
|