zoukankan      html  css  js  c++  java
  • Title

      用python3写了个修改hosts的小脚本,没有技术含量,顺带复习一下文件操作和os、sys模块的内容了。

    # -*- coding:utf-8 -*- 
    #!/usr/bin/env python
    # @Author  : tianbao
    # @Contact : gmu1592618@gmail.com
    # @Time    : 2018/4/5 17:06
    # @File    : change_host_file.py
    # @Software: PyCharm
    '''
    使用说明:
        PATH :HOSTS文件路径
        NEW_PATH :新HOSTS文件路径
        
        在change_host_file.py所在目录打开cmd运行以下命令
                                         方法   IP        网址
        添加:python change_host_file.py add 8.8.8.8 www.google.com
        删除:python hange_host_file.py del 126.125.66.198   删除整行
        修改:python hange_host_file.py change www.cnblogs.com www.google.com
                                                     old              new
    '''
    import sys,os,re
    
    PATH = 'G:jiaobenHOSTS'
    NEW_PATH = 'G:jiaobenHOSTS_NEW'
    def run():
        try:
            if sys.argv[1] == 'add':
                with open(PATH,'a+',encoding='utf-8') as f:
                    new_IP = sys.argv[2] + ' '+ sys.argv[3]
                    f.write('
    ')
                    f.write(new_IP)
                    sys.exit('添加成功,请查看源文件')
            elif sys.argv[1] == 'del':
                with open(PATH, 'r+', encoding='utf-8') as f,open(NEW_PATH, 'a+', encoding='utf-8') as f2:
                    data = f.readlines()
                    for line in data:
                        if sys.argv[2] in line:
                            continue
                        f2.write(line)
                os.remove(PATH)
                os.rename(NEW_PATH,PATH)
                sys.exit('删除成功,请查看源文件')
            elif sys.argv[1] == 'change':
                open(NEW_PATH, 'a+').write(re.sub(r'%s'% sys.argv[2],'%s'% sys.argv[3],open(PATH).read()))
                os.remove(PATH)
                os.rename(NEW_PATH,PATH)
                sys.exit('修改成功,请查看源文件')
        except Exception as e:
            print(e)
    if __name__ == '__main__':
        run()
    

      

  • 相关阅读:
    面试准备——springboot相关
    面试准备——mybatis相关
    面试准备——struts2和springmvc的区别
    面试准备——Struts2相关问题
    面试准备——springmvc面试题
    面试准备——spring面试题
    面试准备——数据库优化问题
    面试准备——JVM相关
    面试准备——数据结构
    面试准备——多线程
  • 原文地址:https://www.cnblogs.com/guotianbao/p/8723568.html
Copyright © 2011-2022 走看看