用Python更改IP地址(转)
用Python更改IP地址(轉)
大多數用筆記本電腦的朋友都有一個煩惱,那就是在家里和公司的IP地址不一樣,上班和回家后都得來回切換IP地址,兩個字“麻煩”。最近在寫Python,于是在網上查找是否Python能夠勝任這份造福的工作,很幸運,找到了,這是網絡上的一個實現方法,經測試通過,大家可以使用。
注:需要下面兩個模塊的支持,請朋友們下載自行安裝。
Tim Golden對WMI的包裝模塊
Python for Windows extensions(pywin32)
源碼如下:
?
#?-*-?coding:?cp936?-*-#
#?FileName:?ModifyIP.py
#?Date????:?2008-01-15
#?
import?wmi?
print?'正在修改IP,請稍候'?
wmiService?=?wmi.WMI()
colNicConfigs?=?wmiService.Win32_NetworkAdapterConfiguration(IPEnabled?=?True)?
#for?objNicConfig?in?colNicConfigs:
#????print?objNicConfig.Index
#????print?objNicConfig.SettingID
#????print?objNicConfig.Description.encode("cp936")
#????print?objNicConfig.IPAddress
#????print?objNicConfig.IPSubnet
#????print?objNicConfig.DefaultIPGateway
#????print?objNicConfig.DNSServerSearchOrder?
if?len(colNicConfigs)?<?1:
????print?'沒有找到可用的網絡適配器'
????exit()
objNicConfig?=?colNicConfigs[0]?
#for?method_name?in?objNicConfig.methods:
#????method?=?getattr(objNicConfig,?method_name)
#????print?method?
arrIPAddresses?=?['172.16.151.147']
arrSubnetMasks?=?['255.255.255.0']
arrDefaultGateways?=?['172.16.151.1']
arrGatewayCostMetrics?=?[1]
arrDNSServers?=?['172.16.151.10']
intReboot?=?0?
returnValue?=?objNicConfig.EnableStatic(IPAddress?=?arrIPAddresses,?SubnetMask?=?arrSubnetMasks)?
if?returnValue[0]?==?0:
????print?'設置IP成功'
elif?returnValue[0]?==?1:
????print?'設置IP成功'
????intReboot?+=?1
else:
????print?'修改IP失敗:?IP設置發生錯誤'
????exit()
returnValue?=?objNicConfig.SetGateways(DefaultIPGateway?=?arrDefaultGateways,?GatewayCostMetric?=?arrGatewayCostMetrics)
if?returnValue[0]?==?0:
????print?'設置網關成功'
elif?returnValue[0]?==?1:
????print?'設置網關成功'
????intReboot?+=?1
else:
????print?'修改IP失敗:?網關設置發生錯誤'
????exit()?
returnValue?=?objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder?=?arrDNSServers)
if?returnValue[0]?==?0:
????print?'設置DNS成功'
elif?returnValue[0]?==?1:
????print?'設置DNS成功'
????intReboot?+=?1
else:
????print?'修改IP失敗:?DNS設置發生錯誤'
????exit()?
if?intReboot?>?0:
????print?'需要重新啟動計算機'
else:
????print?''
????print?'修改后的配置為:'
????print?'IP:?',?',?'.join(objNicConfig.IPAddress)
????print?'掩碼:?',?',?'.join(objNicConfig.IPSubnet)
????print?'網關:?',?',?'.join(objNicConfig.DefaultIPGateway)
????print?'DNS:?',?',?'.join(objNicConfig.DNSServerSearchOrder)?
print?'修改IP結束'?
?
功能上述已經實現了,現在我們再把它做成EXE執行文件,畢竟在Windows下,使用起來方便,一勞永逸呀!:)
1、建立編譯文件setup.py
代碼如下:
?
from?distutils.core?import?setupimport?py2exe?
setup(console=['ModifyIP.py'])?
?
2、進行編譯
?
python?setup.py?py2exe??
如果朋友們沒有安裝py2exe,請點擊這里下載py2exe.exe并安裝。注意要找對應于你所安裝的python版本。
3、執行exe文件
編譯以后會自動生成build和dist兩個文件夾,生成的exe文件在dist文件夾中,我們只要保留dist文件夾下的所有文件(必須全部保留),build文件夾可以刪除。
好了,我們用Python更改IP的小軟件就做好了,以后來回切換就輕松多了,嘿嘿!!!
?
轉自:
http://zhulinywj.spaces.live.com/Blog/cns!BB862E2AA454A862!357.entry
轉載于:https://www.cnblogs.com/SunWentao/archive/2008/07/23/1249416.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的用Python更改IP地址(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 验证控件失效的问题
- 下一篇: websocket python爬虫_p