|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目是:编写一个程序实现全部替换功能
- 请输入文件名:something2.txt
- 请输入需要替换的单词或字符:愿
- 请输入新的单词或字符:希望
- 文件something2.txt中共有4个愿
- 您确定要把所有的【愿】替换为【希望】吗?
- 【yes/no】:yes
复制代码
我写的小程序如下:
- def replace(file_name, word, re_word):
- f = open(file_name, '+a')
- f.seek(0,0)
- text= f.read()
- count=0 #存储文件内输入字符的个数
- for each in text:
- if each == word :
- count+=1
- print('文件%s中共有%d个%s'%(file_name,count,word))
- print('您确定要把所有的【%s】替换为【%s】吗?'%(word,re_word))
-
- answer=input('【yes/no】:')
- f.seek(0,0)
- for each in text:
- if each==word:
- if answer == 'yes':
- each = re_word
- f.close()
-
- file_name= input('请输入文件名:')
- word=input('请输入需要替换的单词或字符:')
- re_word=input('请输入新的单词或字符:')
- replace(file_name,word,re_word)
-
复制代码
但是最后打开文件发现并没有替换成功
按你的思路我改写了。
- def replace(file_name, word, re_word):
- f = open(file_name, encoding = 'utf-8')
- text = list(f)
- f.close()
- count=0 #存储文件内输入字符的个数
- for each in text:
- if word in each:
- count+=1
- print('文件%s中共有%d个%s'%(file_name,count,word))
- print('您确定要把所有的【%s】替换为【%s】吗?'%(word,re_word))
-
- answer=input('【yes/no】:')
- if answer == 'yes':
- text1 = []
- for each in text:
- each = each.replace(word, re_word)
- text1.append(each)
- f = open(file_name, 'w', encoding = 'utf-8')
- f.writelines(text1)
- f.close()
-
- file_name= input('请输入文件名:')
- word=input('请输入需要替换的单词或字符:')
- re_word=input('请输入新的单词或字符:')
- replace(file_name,word,re_word)
-
复制代码
|
|