checkily 发表于 2018-2-6 17:40:10

第29课,第四课,小甲鱼的方法是把文件内容转成列表,再写回进去。有没有其它方法?

参照了小甲鱼的方法,自己再写的
def replace_file(file_name,targe,replace):
    count=0
    temp=[]
    f=open(file_name)

    for each_line in f:   
      if targe in each_line:
            count+=1
            each_line=each_line.replace(targe,replace)
      temp.append(each_line)
    f.close()            

    print("文件%s中共有%d个(%s)" % (file_name,count,targe))
    print("你确定要把所有的(%s)替换为(%s)吗?" % (targe,replace))

    choose=input("(YES/NO):")
    if choose in ["yes","Yes","YES","y","Y"]:
      f_write=open(file_name,"w")
      f_write.writelines(temp)
      f_write.close()
    else:
      print("你取消了替换,文件没有被改变")

file_name=input("输入文件名:")
targe=input("输入要替换的字符:")
replace=input("输入新的字符")
replace_file(file_name,targe,replace)

BngThea 发表于 2018-2-6 18:31:47

这是最直接的方法,拿到所有数据,修改,替换
好过你直接在数据中单独操作

checkily 发表于 2018-2-6 22:48:13

那我明白了。
页: [1]
查看完整版本: 第29课,第四课,小甲鱼的方法是把文件内容转成列表,再写回进去。有没有其它方法?