鱼C论坛

 找回密码
 立即注册
查看: 2317|回复: 2

[已解决]0基础课后题,29课04:\%这里为什么不换行会报错

[复制链接]
发表于 2020-2-25 13:15:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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)

       
       
最佳答案
2020-2-25 13:50:08
\符号在作为Python中的转义字符会把后面的字符进行转义,也就是\%的话会让%失去作用从而使得前面的%s没有对应的参数。
另外,如果\在一行的末尾,则代表这一行代码还没有写完,转入下一行续写,这样的话下面的%就没有失去作用,所以不会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-25 13:17:38 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-2-25 13:19 编辑

你要是不想换行的话,把\去掉
因为\是一个特殊字符,可以去掉某些特殊字符的能力,\和%在一起,%就没有特殊能力了,
Python就不知道这个%有什么用了(还在字符串的外面),所以就会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 13:50:08 | 显示全部楼层    本楼为最佳答案   
\符号在作为Python中的转义字符会把后面的字符进行转义,也就是\%的话会让%失去作用从而使得前面的%s没有对应的参数。
另外,如果\在一行的末尾,则代表这一行代码还没有写完,转入下一行续写,这样的话下面的%就没有失去作用,所以不会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 10:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表