用Python更改IP地址(转)

大多数用笔记本电脑的朋友都有一个烦恼,那就是在家里和公司的IP地址不一样,上班和回家后都得来回切换IP地址,两个字“麻烦”。最近在写Python,于是在网上查找是否Python能够胜任这份造福的工作,很幸运,找到了,这是网络上的一个实现方法,经测试通过,大家可以使用。

注:需要下面两个模块的支持,请朋友们下载自行安装。

源码如下:

#-*- coding: cp936 -*-#

#FileName: ModifyIP.py#Date    : 2008-01-15#importwmiprint'正在修改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.DNSServerSearchOrderiflen(colNicConfigs)<1:print'没有找到可用的网络适配器'exit()

objNicConfig=colNicConfigs[0]#for method_name in objNicConfig.methods:#method = getattr(objNicConfig, method_name)#print methodarrIPAddresses=['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)ifreturnValue[0]==0:print'设置IP成功'elifreturnValue[0]==1:print'设置IP成功'intReboot+=1else:print'修改IP失败: IP设置发生错误'exit()

returnValue=objNicConfig.SetGateways(DefaultIPGateway=arrDefaultGateways, GatewayCostMetric=arrGatewayCostMetrics)ifreturnValue[0]==0:print'设置网关成功'elifreturnValue[0]==1:print'设置网关成功'intReboot+=1else:print'修改IP失败: 网关设置发生错误'exit()

returnValue=objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder=arrDNSServers)ifreturnValue[0]==0:print'设置DNS成功'elifreturnValue[0]==1:print'设置DNS成功'intReboot+=1else:print'修改IP失败: DNS设置发生错误'exit()ifintReboot>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

代码如下:

fromdistutils.coreimportsetup

importpy2exe

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

2、进行编译

python setup.py py2exe

如果朋友们没有安装py2exe,请点击这里下载py2exe.exe并安装。注意要找对应于你所安装的python版本。

3、执行exe文件

编译以后会自动生成build和dist两个文件夹,生成的exe文件在dist文件夹中,我们只要保留dist文件夹下的所有文件(必须全部保留),build文件夹可以删除。

好了,我们用Python更改IP的小软件就做好了,以后来回切换就轻松多了,嘿嘿!!!

转自:

python更改ip地址_用Python更改IP地址(转)相关推荐

  1. python修改ip地址_用Python更改IP地址(转) | 学步园

    #-*- coding: cp936 -*-# #FileName: ModifyIP.py#Date    : 2008-01-15#importwmiprint'正在修改IP,请稍候 'wmiSe ...

  2. python爬取地图地址_用Python抓取百度地图里的店名,地址和联系方式

    原标题:用Python抓取百度地图里的店名,地址和联系方式 每日干货好文分享丨请点击+关注 欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区. 对商业智能BI.大数 ...

  3. python 人数取整_避免PYTHON取整四舍六入五成双问题

    python中关于round函数的小坑 - _小苹果 - 博客园​www.cnblogs.com 同样的坑:整数a/100 不等于a×0.01 在python2.7的doc中,round()的最后写着 ...

  4. python手机app开发_利用python开发app实战的方法

    我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了.最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一 ...

  5. python 分割字串_在Python中分割,连结和连结字串

    python 分割字串 There are few guarantees in life: death, taxes, and programmers needing to deal with str ...

  6. python怎么避免浅拷贝_详谈Python中的深拷贝和浅拷贝

    在平时工作中,经常涉及到数据的传递,在数据传递使用过程中,可能会发生数据被修改的问题.为了防止数据被修改,就需要在传递一个副本,即使副本被修改,也不会影响原数据的使用.为了生成这个副本,就产生了拷贝. ...

  7. python ftp服务器限速_用 Python 快速实现 HTTP 和 FTP 服务器

    用 Python 快速实现 HTTP 服务器 有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache.Nginx 等这类功能较复杂的 HTTP 服务程序时.这时可以使用 Py ...

  8. 更换ip地址_手机怎么改ip地址

    为什么会出现手机ip的地址的更换,是因为使用手机的人员越来越多,很多的工作开始使用手机来进行完成.也是因为手机更方便携带,使用也更加的方便,移动用户越来越多.那么手机的ip地址能够修改吗?回答是肯定的 ...

  9. 如何用python批量下载数据_使用Python批量下载数据

    这次依旧是,不过下载的是Australian Bureau of Statistics的数据,都是xls的表格,网址为:http://www.abs.gov.au.网页打开左边有棵树目录,里面记录的澳 ...

  10. python帮助系统函数_【Python】【基础知识】【内置函数】【help的使用方法】

    原英文帮助文档: help([object]) Invoke the built-in help system. (This function is intended for interactive ...

最新文章

  1. ubuntu搭建nginx环境
  2. 如何用PyTorch进行语义分割?
  3. javaScript中常见的几种报错类型
  4. python使用xml布局界面_Python:使用ElementTree更新XML文件,同时尽可能地保留布局...
  5. python嵌套循环优化_减少循环嵌套,提升代码运行速度!你不知道的3个实用Python函数...
  6. ubuntu 9 下 LAMP开发环境搭建
  7. Ubuntu 18.04安装: failed to load ldlinux.c32
  8. 系统安装 使用VMware14安装XP系统
  9. 【模拟电子技术基础】学习笔记 第一章 半导体二极管
  10. 使用kconfig生成autoconf.h
  11. 讯飞tts语音引擎_讯飞翻译机3.0 打造语音翻译极致体验
  12. 微信公众平台怎么发PDF文件?
  13. if语句与switch语句
  14. 全球及中国水疗水下跑步机行业研究及十四五规划分析报告
  15. BaseFX 实习小记(四)
  16. 单细胞论文记录(part19)--A comprehensive comparison on cell-type composition inference for ST data
  17. java校验中文姓名合法性(需要支持生僻字与分隔符·)
  18. CC00260.CloudKubernetes——|KuberNetes中间件容器化及helm.V07|——|中间件.v07|redis.v5.0.4|custom-reso...
  19. 大河奔流的精神 ——俞敏洪
  20. SAP-MM知识精解-STO公司内的库存转储订单(01)-不带交货单配置及操作

热门文章

  1. 高等数学——常用不定积分公式
  2. 汽车票售票系统 php,客车网上售票系统(2)
  3. 语音信号处理 | 傅里叶变换、短时傅里叶变换、小波变换、希尔伯特变换、希尔伯特黄变换
  4. dos固态硬盘测试软件,dos下的硬盘检测工具MHDD图文教程!
  5. Unity3D自动寻路之Nav Mesh Agent(导航网格代理)
  6. Thinkphp6.0博客源码分享【Wofl-blog】
  7. BUUCTF_Misc(后续更新....)
  8. 8153网卡linux驱动,绿联Type-c千兆网卡RTL8153驱动
  9. CodeBlocks下载+界面优化+创建文件+常用快捷键
  10. 防火墙之ASDM配置虚拟专用网络实践