码迷,mamicode.com
首页 > 编程语言 > 详细

python实现IP地址更改

时间:2016-02-18 17:40:34      阅读:442      评论:0      收藏:0      [点我收藏+]

标签:

 大多数用笔记本电脑的朋友都有一个烦恼,那就是在家里和公司的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修改后的配置为:
    printIP: ,, .join(objNicConfig.IPAddress)
    print掩码: ,, .join(objNicConfig.IPSubnet)
    print网关: ,, .join(objNicConfig.DefaultIPGateway)
    printDNS: ,, .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文件夹可以删除。

 

 



python实现IP地址更改

标签:

原文地址:http://www.cnblogs.com/mcafee/p/5198670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!