文件修改
存在一个love的文件
1 把我的心串一串 2 串一株幸运草 串一个同心圆 3 让所有期待未来的呼唤 4 趁青春做个伴 5 别让年轻越长大越孤单 6 把我的幸运草种在你的梦田 7 让地球随我们的同心圆 8 永远的不停转 9 向天空大声的呼唤说声我爱你 10 向那流浪的白云说声我想你 11 让那天空听得见 12 让那白云看得见 13 谁也擦不掉我们许下的诺言 14 想带你一起看大海说声我爱你 15 给你最亮的星星说声我想你 16 听听大海的誓言 17 看看执着的蓝天 18 让我们自由自在的恋爱
目的将“幸运草种在你的梦田”改成“幸运草种在axiang的梦田”
f = open("love","r",encoding='utf-8') f_new = open("love_new","w",encoding='utf-8') for line in f: if "幸运草种在你的梦田" in line: line = line.replace("幸运草种在你的梦田","幸运草种在axiang的梦田") f_new.write(line) f.close() f_new.close()
我是把原来的内容改了之后写到新的文件中,如果需要文件名一致,可以将原来的文件以w模式打开,然后循环新创建的love_new里面的内容写到love文件中,即可完成
上面的代码中指定了修改的内容,往往,我们需要根据实际情况,自己进行传参,想修改的内容,修改成什么样的
可以导入sys模块使用sys模块中的argv方法,保存为file_update.py
import sys f = open("D:\PycharmProjects\untitled\day3\love","r",encoding='utf-8') f_new = open("D:\PycharmProjects\untitled\day3\love_new","w",encoding='utf-8') find_str = sys.argv[1] replace_str = sys.argv[2] for line in f: if find_str in line: line = line.replace(find_str,replace_str) f_new.write(line) f.close() f_new.close()
可以使用命令窗口执行
python file_update.py 需要修改的内容 修改后的内容
with的用法
上面的代码中可以看到我们open文件的时候,最后都对文件进行close;
可以使用with来进行自动的关闭文件
上面的代码可以使用下方代码替换,其功能完全一样
import sys find_str = sys.argv[1] replace_str = sys.argv[2] with open("D:\PycharmProjects\untitled\day3\love","r",encoding='utf-8') as f, open("D:\PycharmProjects\untitled\day3\love_new","w",encoding='utf-8') as f_new: for line in f: if find_str in line: line = line.replace(find_str,replace_str) f_new.write(line)