用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文件的更多相关文章

  1. 批处理脚本修改hosts文件指定域名解析IP

    现在很多网站都是前后台分开部署的,这样做是相对安全的.就算黑客拿到了前台shell也找不到后台的管理地址,增加安全性. 大家应该知道hosts文件的功能吧,用户在访问网站的时候 需要把域名解析成IP地 ...

  2. 小兴趣:修改Hosts文件,禁止访问指定网页

    不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...

  3. 修改Hosts文件,禁止访问指定网页

    不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...

  4. 修改hosts文件在本地使域名解析到指定IP

    # Additionally, comments (such as these) may be inserted on individual  # lines or following the mac ...

  5. 修改hosts文件,修改后不生效怎么办

    当你在打开浏览器的情况下修改hosts文件时,关闭浏览器时系统才会释放掉hosts文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了. ps:ipconfig /flushdns     # ...

  6. Mac下修改Hosts文件工具——Gas Mask

    这段时间在做公司APP的项目,看到公司开发IOS的同事和我这边联调程序时,经常需要手动修改hosts文件,比较麻烦. 在公司忙,没有来及找,给同事推荐了我当时知道的一个切换hosts文件的工具:sma ...

  7. Ubuntu下修改hosts文件

    Ubuntu系统的Hosts只需修改/etc/hosts文件,修改完之后要重启网络.具体过程如下:1.修改hostssudo gedit /etc/hosts2.添加解析记录( . )或者从githu ...

  8. mac 下修改Hosts文件

    最近Google网站老是打不开,具体原因大家都明白,不过修改Hosts文件后,就能访问了,也算不上原创,网上一搜就能找到,自己操作记录下,希望有刚接触Mac 系统的童鞋有帮助. 第一步:打开Finde ...

  9. win7修改hosts文件方法

    因权限的关系,导致无法修改,解决如下: hosts属性 --> 安全 --> 编辑权限 --> 完全控制,就可以修改该文件了.win7默认不能修改hosts文件.

随机推荐

  1. java设计模式之迭代器模式

    一.迭代器模式简介 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露内部的表示.把游走的任务放在迭代器上,而不是 ...

  2. what is spring and what is spring for

    1 what is spring spring是一个轻量级的容器. 它使用依赖注入技术来构建耦合性很低的系统. 2 what is  spring for 用于系统的依赖解耦合.在一个系统中,A类依赖 ...

  3. 我的Android进阶之旅------>Android图片处理(Matrix,ColorMatrix)

    本文转载于:http://www.cnblogs.com/leon19870907/articles/1978065.html 在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的 ...

  4. django 设置静态文件,static

    django 设置静态文件,static 一.搜集静态文件 1.1 命令行查看 collectstatic guoguos-MacBook-Pro:mysite guoguo$ python mana ...

  5. HTML5/CSS3淡入淡出滑块焦点图

    在线演示 本地下载

  6. 简单的C++程序题总结

    1.求一个数的二进制中1的个数. 思想的关键在于x=x&(x-1)这里,例如二进制为0x0729,即x=0000 0111 0010 1001,那么x-1=0000 0111 0010 100 ...

  7. zabbix增加服务器tcp监控

     zabbix server web界面,需要导入 tcp 监控模板 操作步骤:     Configuration --> Templates --> Import ,选择 本地的 zb ...

  8. 截取带HTML标签的文本并保留文本样式

    一个截取HTML文本的工具,可以按照文字字数或文字字节长度进行截取,保留HTML样式并在最后自动补齐截取后的标签.按工作要求编写,时间紧迫,代码未优化,欢迎讨论和指正.​1. [文件] SubHtml ...

  9. BZOJ 1677 [Usaco2005 Jan]Sumsets 求和:dp 无限背包 / 递推【2的幂次方之和】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1677 题意: 给定n(n <= 10^6),将n分解为2的幂次方之和,问你有多少种方 ...

  10. exec 和 spawn 的区别

    参考资料: difference-between-spawn-and-exec-of-node-js-child_process process_child 最近在用nodejs 的child_pro ...