• 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)
  • 相关阅读:
    [Swift]LeetCode646. 最长数对链 | Maximum Length of Pair Chain
    [Swift]LeetCode645. 错误的集合 | Set Mismatch
    [Swift]LeetCode643. 子数组最大平均数 I | Maximum Average Subarray I
    [Swift]LeetCode641. 设计循环双端队列 | Design Circular Deque
    [Swift]LeetCode640. 求解方程 | Solve the Equation
    [Swift]LeetCode639. 解码方法 2 | Decode Ways II
    [Swift]LeetCode638. 大礼包 | Shopping Offers
    [Swift]LeetCode637. 二叉树的层平均值 | Average of Levels in Binary Tree
    [Swift]LeetCode636. 函数的独占时间 | Exclusive Time of Functions
    (4.2)动态管理视图DMV
  • 原文地址:https://www.cnblogs.com/axiangstudy/p/13693865.html
Copyright © 2020-2023  润新知