python脚本修改hosts文件
Posted _慕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python脚本修改hosts文件相关的知识,希望对你有一定的参考价值。
用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:\\jiaoben\\HOSTS\' NEW_PATH = \'G:\\jiaoben\\HOSTS_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(\'\\n\') 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()
以上是关于python脚本修改hosts文件的主要内容,如果未能解决你的问题,请参考以下文章