鱼C论坛

 找回密码
 立即注册
查看: 1896|回复: 0

[技术交流] 29课作业 替换

[复制链接]
发表于 2020-7-15 10:35:50 | 显示全部楼层 |阅读模式

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

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

x
def replace_file_word(file_name,old_word,new_word):
    f=open(file_name)
    count=0
    concent=[]
    for each_line in f:
        if old_word in each_line:
            count+=each_line.count(old_word)#小甲鱼这里的是’count=each_line.count(old_word)‘然后每次运行显示都是'1'
            each_line=each_line.replace(old_word,new_word)
        concent.append(each_line)#小甲鱼这里是’concent=concent.append(each_line)‘,然后每次报错NoneType
        #else:
           # print('您要替换的词不存在')


    decide=input('\n文件%s中%s共出现%d次,是否用%s替换%s【yes/no】:'%(file_name,old_word,count,new_word,old_word))
    if decide in 'yes,Yes,YES,yES,yEs,yeS':
        file_write=open(file_name,'w')
        file_write.writelines(concent)
        file_write.close()
    else:
        print('文件不改变')
    f.close()

file_name=input('请输入文件名【路径】:')
old_word=input('请输入被替换的词:')
new_word=input('请输入要替换的新词:')
replace_file_word(file_name,old_word,new_word)







后来经过百度并且加修改能够完美运行,每次显示‘1’是因为计数记的是每一行将要替换词的次数并不是文件中所有行中要替换词的次数,报错是因为append会修改concent本身,并且返回None。不能把返回值再赋值给concent
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 23:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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