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文件的更多相关文章
- 批处理脚本修改hosts文件指定域名解析IP
现在很多网站都是前后台分开部署的,这样做是相对安全的.就算黑客拿到了前台shell也找不到后台的管理地址,增加安全性. 大家应该知道hosts文件的功能吧,用户在访问网站的时候 需要把域名解析成IP地 ...
- 小兴趣:修改Hosts文件,禁止访问指定网页
不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...
- 修改Hosts文件,禁止访问指定网页
不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...
- 修改hosts文件在本地使域名解析到指定IP
# Additionally, comments (such as these) may be inserted on individual # lines or following the mac ...
- 修改hosts文件,修改后不生效怎么办
当你在打开浏览器的情况下修改hosts文件时,关闭浏览器时系统才会释放掉hosts文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了. ps:ipconfig /flushdns # ...
- Mac下修改Hosts文件工具——Gas Mask
这段时间在做公司APP的项目,看到公司开发IOS的同事和我这边联调程序时,经常需要手动修改hosts文件,比较麻烦. 在公司忙,没有来及找,给同事推荐了我当时知道的一个切换hosts文件的工具:sma ...
- Ubuntu下修改hosts文件
Ubuntu系统的Hosts只需修改/etc/hosts文件,修改完之后要重启网络.具体过程如下:1.修改hostssudo gedit /etc/hosts2.添加解析记录( . )或者从githu ...
- mac 下修改Hosts文件
最近Google网站老是打不开,具体原因大家都明白,不过修改Hosts文件后,就能访问了,也算不上原创,网上一搜就能找到,自己操作记录下,希望有刚接触Mac 系统的童鞋有帮助. 第一步:打开Finde ...
- win7修改hosts文件方法
因权限的关系,导致无法修改,解决如下: hosts属性 --> 安全 --> 编辑权限 --> 完全控制,就可以修改该文件了.win7默认不能修改hosts文件.
随机推荐
- EasyNVR H5无插件摄像机直播解决方案前端解析之:引用videojs无法自动播放
关于videojs自动播放问题 播放流媒体多使用videojs来进行播放,videojs,本身自带自动播放属性: 通过添加autoplay(),来完成视频播放的自动加载: player = video ...
- linux rz sz命令
rz是receive zmodem的缩写,sz是send zmodem的缩写. 传输文件使用的是zmodem协议,所以叫zmodem. r和s是以服务器为主体的,服务器接收就是r,服务器发送就是s.
- Bloom Filters
http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html A Bloom filter is a method for represe ...
- PAT 乙级 1084. 外观数列 (20) 【字符串】
题目链接 https://www.patest.cn/contests/pat-b-practise/1084 思路 用字符串模拟 然后要注意一点 它是连续的 才并在一起 就比如说 d, d1, d1 ...
- javascript 跨浏览器事件处理
<div id="myDiv" style="width:100px; height:100px; border:1px solid #f00;"> ...
- Django 之 Paginator 分页功能
Django Paginator Django 分页官方文档 https://docs.djangoproject.com/en/1.10/topics/pagination/ 此分页方法没有限制显 ...
- php 获取上上个月数据 使用 strtotime('-1 months')的一个bug
今天,使用php 日期函数处理数据,发现一个问题. 具体场景是这样的,我一直以为strtotime 格式化当前日期 或 指定日期可以找到对应的数据,比如我要查找上上个与的数据,因为我要获取当前时间的 ...
- SPOJ - PHRASES Relevant Phrases of Annihilation —— 后缀数组 出现于所有字符串中两次且不重叠的最长公共子串
题目链接:https://vjudge.net/problem/SPOJ-PHRASES PHRASES - Relevant Phrases of Annihilation no tags You ...
- nginx+keepalived简单双机主从热备
双机主从热备概述 可以两台机子互为热备,平时各自负责各自的服务.在做上线更新的时候,关闭一台服务器的tomcat后,nginx自动把流量切换到另外一台服务的后备机子上,从而实现无痛更新,保持服务的持续 ...
- jQuery(expression, [context])
jQuery(expression, [context]) 返回值:jQuery 概述 这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素. jQuery 的 ...