用Python更改IP地址(转)
用Python更改IP地址(转)
大多数用笔记本电脑的朋友都有一个烦恼,那就是在家里和公司的IP地址不一样,上班和回家后都得来回切换IP地址,两个字“麻烦”。最近在写Python,于是在网上查找是否Python能够胜任这份造福的工作,很幸运,找到了,这是网络上的一个实现方法,经测试通过,大家可以使用。
注:需要下面两个模块的支持,请朋友们下载自行安装。
Tim Golden对WMI的包装模块
Python for Windows extensions(pywin32)
源码如下:
#
# 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
代码如下:
import py2exe
setup(console=['ModifyIP.py'])
2、进行编译
如果朋友们没有安装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
用Python更改IP地址(转)相关推荐
- python修改ip地址_用Python更改IP地址(转) | 学步园
#-*- coding: cp936 -*-# #FileName: ModifyIP.py#Date : 2008-01-15#importwmiprint'正在修改IP,请稍候 'wmiSe ...
- python修改ip地址_怎么更改电脑ip地址?基于 Python 爬虫的ip修改设计与实现
怎么更改电脑ip地址?基于 Python 爬虫原理的篮球鞋选择程序的设计与实现ip修改 [摘 要]伴随着篮球鞋工艺的进步及产业升级,多类型多种类的篮球鞋出现在大众的视野当中.与此同时,消费者对篮球鞋的 ...
- 如何在命令行下更改ip地址
微软的Windows家族从Windows NT开始跨入了网络操作系统的市场,到现在的Windows 2003可以说网络功能在逐渐的完善,在这个成长过程中Windows融入了很多其他网络操作系统的功能, ...
- 组策略妙用----通过组策略禁止域用户更改IP地址
禁止更改IP地址 如果允许用户能够自己更改IP地址,就有可能和网络中其他计算机IP地址冲突.有些单位的网络管理员配置好计算机的IP地址后,不想让用户自己更改.以下示例将会演示禁止用户更改IP地址一种方 ...
- cmder上传文件到服务器,wget 结合everything上传文件到服务器端(以及更改ip地址)...
上传服务器的方式有很多,平时常用的是ssh,scp等一些命令操作,但是当文件足够大的时候,用这些命令就显得力不从心了. 下面推荐一种操作系统是win10环境下上传批量文件到服务端的方法. 需要用到的软 ...
- Python对IP地址列表排序、对列表进行去重、IP地址与MAC地址组合的多个元组的列表排序
1.python对IP地址列表排序 # -*- coding: utf-8 -*-import socket listIP = ['10.5.11.1', '192.168.1.33', '10.5. ...
- python对ip地址排序、对列表进行去重
一:使用python对ip地址排序所用代码示例一: import socketiplist = ['10.5.11.1','192.168.1.33','10.5.2.4','10.5.1.3','1 ...
- 软件测试工作怎样修改本机IP,如何在命令行下更改IP地址
如何在命令行下更改IP地址 发表于:2007-07-02来源:作者:点击数: 标签: 微软的Windows家族从Windows NT开始跨入了 网络 操作系统的市场,到现在的Windows 2000可 ...
- C++不重起Windows直接更改IP地址
出处:http://www.cppblog.com/lizao2/archive/2012/10/11/193147.aspx 源代码运行效果图如下: 设置IP地址只需要更改注册表中关于适配器的相应设 ...
最新文章
- python笔记基础
- SAP QM Batch to Batch的转移过账事务中的Vendor Batch
- BAT批处理文件无法运行提示“/E /I /Y ‘XCOPY‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”解决方法
- 你不知道的 IDEA Debug 调试小技巧!
- [转载]linux下上传文件真的需要ftp么?
- ftp 上传文件夹_建站上传下载FTP工具
- 人脸识别经典算法实现(三)——LBP算法
- 三阶魔方复原操作方法
- 页游终端服务器,页游定制高防服务器秒解封服务器
- 大病众筹平台会成为下一个“网络诈骗”工具吗?
- 哪款蓝牙耳机降噪好?值得推荐的降噪蓝牙耳机!
- STM32单片机的启动模式 三种BOOT模式介绍
- 12,MongoDB的视图
- 06 - 微信公众号的菜单配置
- JSP - java服务器页面 (page)
- [算法]力扣刷题-初级算法 - 数组(三)(数组篇完结) [两数之和] [有效的数独] [旋转图像]
- SIKI学院:MySQL数据库从零到精通:二十三:课时 27 : 26-数据库的备份和恢复+课时 28 : 27-结语
- html版本的网站地图只适合,网站地图-乐云SEO优化知识
- 宝塔linux 4g2h优化方案,5G优化案例:5G NSA组网下4G锚点基站X2配置优化研究方案案例.docx...
- Python 面向对象 计算各种图形的周长(接口与多态)