javaWeb开发,经常线上线下切换,操作有点小麻烦,咂摸着就搞了个脚本。
先用easy_install安装pywin32和wmi(wmi依赖win32api)
参考别人的代码修改
#!/usr/bin/python2.7 # -*- coding: gb2312 -*- ''' Created on 2013-10-11 @author: Daemon ''' import sys import wmi def developModel():#开发模式,切换DNS wmiService = wmi.WMI () colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled = True) if len(colNicConfigs) < 1: print "没有找到可用的网络适配器" exit() objNicConfig=colNicConfigs[0] arrDNSServers = ['192.168.1.1'] returnValue =objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = arrDNSServers) if returnValue[0] == 0 : print "修改DNS成功" elif returnValue[0] == 1 : print "修改DNS成功" else: print "修改DNS失败" def nonDevelopModel():#线上,自动获取DNS wmiService = wmi.WMI () colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled = True) if len(colNicConfigs) < 1: print "没有找到可用的网络适配器" exit() objNicConfig=colNicConfigs[0] returnValue =objNicConfig.SetDNSServerSearchOrder()#这句不能少 returnValue =objNicConfig.EnableDHCP() if returnValue[0] == 0 : print "修改DNS成功" elif returnValue[0] == 1 : print "修改DNS成功" else: print returnValue[0] print "修改DNS失败" fh=open("C:\Windows\System32\drivers\etc\hosts","rb")#修改我的hosts里配置 lines=[] flag=0 for i in fh.readlines(): if i.find("#127.0.0.1")==0:#我的配置文件只有一个#127.0.0.1 www.XXXX.com 项目域名(当有多个时,此处会出bug) flag=1 lines.append(i[1:])#去掉127前的#号 elif i.find("127.0.0.1")==0: lines.append("#"+i) flag=0 else: lines.append(i) open("C:\Windows\System32\drivers\etc\hosts","wb").writelines(lines) if flag==0: print "非开发模式" nonDevelopModel() else: print "开发模式" developModel() raw_input()
最后转为exe :pyinstaller -F xxx.py;搞定收工。