python 文件修改

文件修改

存在一个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)
原文地址:https://www.cnblogs.com/axiangstudy/p/13693865.html