• 练习题1 —— 全局替换程序


    # 练习题1 —— 全局替换程序:
    # 写一个脚本,允许用户按以下方式执行时,即可以对指定文件内容进行全局替换
    # `python your_script.py old_str new_str filename`
    # 替换完毕后打印替换了多少处内容

    import sys
    # print('参数个数:', len(sys.argv))
    # print('他们是:', str(sys.argv))

    par = sys.argv #从命令行 获取 用户输入的参数的列表
    path_list = sys.path #获取路径列表
    # 使用占 内存方式修改文件
    def replace_file(old_str,new_str,path_filename):
    with open(path_filename,'r+',encoding='utf_8') as read_f:
    info = ''
    count = 0
    for line in read_f:
    # print(line,end='')
    if old_str in line:
    new_info = line.replace(old_str, new_str)
    info += new_info
    count += 1
    else:
    info += line
    print('替换次数为%d' % count)
    read_f.seek(0) #使光标移动到文件开头
    read_f.write(info) #写入内容
    read_f.truncate(read_f.tell()) # 删除掉光标当前位置 之后的内容! 防止解码错误
    old_str = par[1]
    new_str = par[2]
    filename = '%s\%s' % (path_list[0],par[3])
    replace_file(old_str, new_str, filename)
  • 相关阅读:
    1033.采药1
    G——胜利大逃亡 (BFS)
    POJ 3278 Catch That Cow
    C
    11.17 dfs poj1979 Red and Black
    11.11反思
    kmp笔记
    dfs bfs
    1113
    python 类方法
  • 原文地址:https://www.cnblogs.com/chengege/p/10211862.html
Copyright © 2020-2023  润新知