zoukankan      html  css  js  c++  java
  • 练习题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)
  • 相关阅读:
    DRF之url注册器组件
    序列化组件的使用及接口设计和优化
    Django 内置字段
    Django 的 ModelForm组件
    Django组件 中间件
    csrf
    django使用redis做缓存
    微信消息推送
    自定制serilazry字段
    小知识,大智慧(restframework 拾忆)
  • 原文地址:https://www.cnblogs.com/chengege/p/10211862.html
Copyright © 2011-2022 走看看