python實現IP地址更改


 大多數用筆記本電腦的朋友都有一個煩惱,那就是在家里和公司的IP地址不一樣,上班和回家后都得來回切換IP地址,兩個字“麻煩”。

貼上用python寫的自動切換IP小程序

注:需要下面兩個模塊的支持,請朋友們下載自行安裝

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 setup
import py2exe

setup(console=['ModifyIP.py'])

 

2、進行編譯

python setup.py py2exe

如果朋友們沒有安裝py2exe,請點擊這里下載py2exe.exe並安裝。注意要找對應於你所安裝的python版本。

3、執行exe文件

編譯以后會自動生成build和dist兩個文件夾,生成的exe文件在dist文件夾中,我們只要保留dist文件夾下的所有文件(必須全部保留),build文件夾可以刪除。

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM