yuhanhanhan 发表于 2019-10-14 17:13:28

求助python问题

def file_replace(file_name,old_word,new_word):
   
    f_read = open(file_name)

    content = []
    i = 0
   
    for eachline in f_read:
      if old_word in eachline:
            i = eachline.count(old_word)
            eachline = eachline.replace(old_word,new_word)
      content.append(eachline)#这里是什么作用,将改了的句子输入到列表里面么,怎么感觉像是把所有的句子都放进去呢

    answer = input('\n文件%s中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?'%(file_name,i,old_word,old_word,new_word))
   
      
    if answer == 'yes':
      f_write = open(file_name,'w')
      f_write.writelines(content)
      f_write.close()
    f_read.close

file_name = input('请输入文件名:')
old_word = input('请输入要替换的单词或字符:')
new_word = input('请输入新的单词或字符:')
file_replace(file_name,old_word,new_word)

感觉那一段for 循环看的不是很懂,可以讲解一下么?红色的字体也是我的问题,谢谢了~

冬雪雪冬 发表于 2019-10-14 17:46:23

    for eachline in f_read:#逐句读文件的内容
      if old_word in eachline: #如果ols_word在本行中
            i += eachline.count(old_word) #计数多少要替换的字符数
            eachline = eachline.replace(old_word,new_word) #替换
      content.append(eachline) #本行不在if缩进中,即不论是否替换,都放入此列表中。
页: [1]
查看完整版本: 求助python问题