#!/usr/bin/env python
#-*- coding: utf-8 -*-
#谷歌host修改脚本
#author 坤子<root#pythonpy.com>
#date 01/05/015
#
#【使用说明】
#如果支持我就多多访问我的博客!
#请确保在当“前用户对host可写”前提下使用;
#AT一下,每天运行一次更健康;
#本品禁止食用、拆解或投入火中;
#小学生请在监护人陪同下一起使用;
#孕妇慎用。
import sys,os
import urllib,urllib2,re
if __name__ == '__main__':
print u'谷歌host修改脚本\nauthor 坤子<root#pythonpy.com>\n01/05/015\r数据:http://www.360kb.com/kb/2_122.html' #load host from 360kb
htmlH = urllib2.urlopen('http://www.360kb.com/kb/2_122.html')
html = htmlH.read()
reg = r'#base services.*#google hosts 2015 end'
hostHtmlRe = re.search(reg, html, re.S)
hostHtml = hostHtmlRe.group()
hostHtml = hostHtml.replace('&nbsp;',' ')
hostStr = hostHtml.replace('<br />','') #write host file
f = open('C:\\Windows\\System32\\drivers\\etc\\hosts', 'r+')
hostOld = f.read()
reg = re.compile(r'\r\n#google=.*#google hosts 2015 end', re.S)
hostNew = re.sub(reg, '', hostOld)
hostNew = hostNew + '\r\n#google===========================\r\n' + hostStr
#安全起见,不修改account相关
reg = re.compile(r'account', re.S)
hostNew = re.sub(reg, 'OOXXaccount', hostNew)
print hostNew
f.seek(0)
f.write(hostNew)
f.close()
print 'ok'

Python获取并修改hosts的更多相关文章

  1. python脚本修改hosts文件

    用python3写了个修改hosts的小脚本,没有技术含量,顺带复习一下文件操作和os.sys模块的内容了. # -*- coding:utf-8 -*- #!/usr/bin/env python ...

  2. python文件夹遍历,文件操作,获取文件修改创建时间

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  3. python 获取文件的修改时间

    os.path.getmtime(name) #获取文件的修改时间 os.stat(path).st_mtime#获取文件的修改时间 os.stat(path).st_ctime #获取文件修改时间 ...

  4. 使用shell/python获取hostname/fqdn释疑

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

  5. mac 下修改Hosts文件

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

  6. 安卓手机修改hosts攻略-摘自网络

    Android手机是和Google帐号紧密联系的,由于$^&情况,很多时候Google帐号无法登录,导致Android市场无法使用.在电脑上我们通过修改Hosts方法可以解决Google帐号的 ...

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

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

  8. Android手机修改Hosts的方法

    Android手机是和Google帐号紧密联系的,由于中国的操蛋情况,很多时候Google帐号无法登录,导致Android市场无法使用. 在电脑上我们通过修改Hosts方法可以解决Google帐号的登 ...

  9. 使用shell/python获取hostname/fqdn释疑(转)

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

随机推荐

  1. PHP新手必须掌握的入门与实战技巧

    作为当今主流的开发语言,PHP集简单.免费.高效等特点于一身.对于想加入PHP大军的新手来说,从何学起.如何学习? 你需要掌握PHP的基础知识.常用功能模块.面向对象.MVC等相关技能.学会了这些技能 ...

  2. JAVA堆与栈

    数据类型: Java虚拟机中,数据类型可以分为两类:基本类型和引用类型.基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用,而不是对象本身 ...

  3. Eclipse运行慢

    http://blog.csdn.net/chrissata/article/details/7759836 http://blog.csdn.net/heyutao007/article/detai ...

  4. Linux 动态库剖析

    进程与 API 动态链接的共享库是 GNU/Linux® 的一个重要方面.该种库允许可执行文件在运行时动态访问外部函数,从而(通过在需要时才会引入函数的方式)减少它们对内存的总体占用.本文研究了创建和 ...

  5. (C#)Windows Shell 编程系列1 - 基础,浏览一个文件夹

    原文 (C#)Windows Shell 编程系列1 - 基础,浏览一个文件夹 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) Windows Shell 编程,即 Windows ...

  6. angulajs 如何在controller 之间共享数据

    当在一个controller中 通过设置$scope的数据,来影响其它control的范围时,可以使用$rootScope 举个例子: 在一个control A范围内设置 mainApp.contro ...

  7. 面试题:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字

    题目:给定一个长度为N的数组,其中每个元素的取值范围都是1到N.判断数组中是否有重复的数字.(原数组不必保留) 方法1.对数组进行排序(快速,堆),然后比较相邻的元素是否相同.时间复杂度为O(nlog ...

  8. ajax不执行success回调而是执行了error回调

    最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数.   附上代码如下: JScrip ...

  9. Java,js,多条件split字符分割

    后台字符串分割处理: String s = "i20002/400|i3030/300";        String[] s1 = s.split("\\||/&quo ...

  10. plsql 的循环之 goto

    实例: /* 测试goto 的用法, */ procedure test_loop_go(pi_aab001 in number, po_fhz out varchar2, po_msg out va ...