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()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM