|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:4. 编写一个程序,实现“全部替换”功能。
就是要将文件里的字符全部替换
我在对文件进行写操作之后,文件被修改为:<_io.TextIOWrapper name='D:\\somewhat.txt' mode='r' encoding='utf-8'>
我是采用将文件转换为字符串,用字符串的replace BIF,然后再对文件进行写入操作的思想
下面是我的代码:
def file_replace(file_name,replace_character,replaced):
f=open("D:\\"+file_name,'r',encoding='utf-8')
str1=str(f)
str1.replace(replaced,replace_character)
f.close()
f=open("D:\\"+file_name,'w',encoding='utf-8')
f.write(str1)
f.close()
file_name=input("请输入文件名: ")
replace_character=input("请输入新的单词或字符: ")
replaced=input("请输入需要替换的单词或字符: ")
print("你确定要把所有["+replaced+']替换为['+replace_character+']吗')
yes_or_no=input("【YES/NO】: ")
if yes_or_no=="yes"or yes_or_no=="YES":
file_replace(file_name,replace_character,replaced)
else:
f.close()
希望鱼油们能告诉我问题在哪里,万分感谢
本帖最后由 疾风怪盗 于 2020-10-4 01:22 编辑
函数里的第二行,打开了文件,但是没有读取,在这行下面打印一下str1看看
- str1=str1.replace(replaced,replace_character)
复制代码
然后这个replace要个变量接收返回值,否则没有效果,等于没替换
然后一般习惯来说,被替换的先输入吧,新字符后输入,否则总感觉怪怪的
然后整个程序的if后面那个else后面的代码,不知道是什么意思,可以去掉
然后一般比较推荐用with open来打开文件,还有就是没必要打开两次吧,打开一次文件,替换了再写入就行了
|
|