|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这一段,如果\%()这里不换行为什么会报错
decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:'\
%(file_name,count,rep_word,rep_word,new_word))
题目:编写一个程序,实现全部替换功能
完整代码如下
def file_replace(file_name,rep_word,new_word):
with open(file_name) as f_read:
content = []
count = 0
for eachline in f_read:
if rep_word in eachline:
cout = eachline.count(rep_word)
eachline = eachline.replace(rep_word,new_word)
content.append(eachline)
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()
file_name = input('请输入文件名:')
rep_word = input('请输入需要替换的单词或字符:')
new_word = input('请输入新的单词或字符:')
file_replace(file_name,rep_word,new_word)
\符号在作为Python中的转义字符会把后面的字符进行转义,也就是\%的话会让%失去作用从而使得前面的%s没有对应的参数。
另外,如果\在一行的末尾,则代表这一行代码还没有写完,转入下一行续写,这样的话下面的%就没有失去作用,所以不会报错
|
|