Python3.10动态修改Windows系统(win10/win11)本地IP地址(静态IP)

这篇具有很好参考价值的文章主要介绍了Python3.10动态修改Windows系统(win10/win11)本地IP地址(静态IP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一般情况下,局域网里的终端比如本地服务器设置静态IP的好处是可以有效减少网络连接时间,原因是过程中省略了每次联网后从DHCP服务器获取IP地址的流程,缺点是容易引发IP地址的冲突,当然,还有操作层面的繁琐,如果想要切换静态IP地址,就得去网络连接设置中手动操作,本次我们使用Python3.10动态地修改电脑的静态IP地址。

获取多网卡配置

一个网卡对应一个静态IP地址,但机器上未必只有一个网卡,所以如果想动态切换,必须要指定网卡名称,Win系统中通过ipconfig命令来获取当前系统的网卡信息:

ipconfig

系统返回:

PS C:\Users\liuyue\h2102-a\videopro> ipconfig  
  
Windows IP 配置  
  
  
以太网适配器 以太网:  
  
   连接特定的 DNS 后缀 . . . . . . . :  
   本地链接 IPv6 地址. . . . . . . . : fe80::a216:f22a:52a:3388%4  
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.104  
   子网掩码  . . . . . . . . . . . . : 255.255.255.0  
   默认网关. . . . . . . . . . . . . : 192.168.1.1  
  
以太网适配器 以太网 2:  
  
   连接特定的 DNS 后缀 . . . . . . . :  
   IPv6 地址 . . . . . . . . . . . . : fdb2:2c26:f4e4:0:7703:1e08:e622:2f0  
   临时 IPv6 地址. . . . . . . . . . : fdb2:2c26:f4e4:0:717c:b59e:b6cd:51b2  
   本地链接 IPv6 地址. . . . . . . . : fe80::2645:f265:ad72:c751%16  
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.118  
   子网掩码  . . . . . . . . . . . . : 255.255.255.0  
   默认网关. . . . . . . . . . . . . :  
  
以太网适配器 vEthernet (Default Switch):  
  
   连接特定的 DNS 后缀 . . . . . . . :  
   本地链接 IPv6 地址. . . . . . . . : fe80::3ece:9b38:2572:4e33%18  
   IPv4 地址 . . . . . . . . . . . . : 172.31.16.1  
   子网掩码  . . . . . . . . . . . . : 255.255.240.0  
   默认网关. . . . . . . . . . . . . :

如果想通过Python来获取网卡信息,则需要在脚本中运行ipconfig命令,构建change_ip.py脚本:

import os,re  
  
class IpManage:  
  
    def __init__(self):  
  
        self.ip_list = self.get_ip()  
  
  
    def get_ip(self):  
  
  
        result = os.popen('ipconfig')  
        res = result.read()  
  
        resultlist = re.findall('''(?<=以太网适配器 ).*?(?=:)|(?<=无线局域网适配器 ).*?(?=:)''', res)  
  
        print(resultlist)  
  
        return resultlist  
  
if __name__ == '__main__':  
      
    IpManage()

这里通过os模块的popen方法来运行ipconfig命令,随后再使用正则来匹配网卡名称,最后将匹配到的网卡列表赋值给实例属性,程序返回:

['以太网', '以太网 2', 'vEthernet (Default Switch)']  
[Finished in 394ms]

至此,三块网卡的名称就获取到了。

动态切换静态IP

接下来就是通过Python脚本来动态切换指定网卡的静态IP地址了,Windows系统通过netsh命令来指定IP地址:

netsh interface ip set address name=以太网 static 192.168.201.137 255.255.248.0 192.168.200.1

这里name参数是网卡名称,后来三个地址分别代表静态IP地址,子网掩码以及网关地址。

这里将第一块网卡的静态IP地址设置为192.168.201.137,子网掩码是255.255.248.0,网关地址为192.168.200.1。

随后在Windows的网络连接设置中进行查看:

发现已经设置好了,随后再手动修改为自动获得IP地址选项。

下面通过Python脚本进行设置:

def set_ip(self,name,ip="192.168.201.137",mask="255.255.248.0",gateway="192.168.200.1"):  
  
        result = os.popen(f"netsh interface ip set address name={name} static {ip} {mask} {gateway}")  
        res = result.read()  
  
        print(res)

这里添加一个实例方法来设置ip地址,同样使用popen方法来运行命令,随后进行调用:

if __name__ == '__main__':  
      
    im = IpManage()  
  
    im.set_ip(im.ip_list[0])

这里将第一块网卡的IP地址进行指定操作。

完整代码:

import os,re  
  
class IpManage:  
  
    def __init__(self):  
  
        self.ip_list = self.get_ip()  
  
  
    def set_ip(self,name,ip="192.168.201.137",mask="255.255.248.0",gateway="192.168.200.1"):  
  
        result = os.popen(f"netsh interface ip set address name={name} static {ip} {mask} {gateway}")  
        res = result.read()  
  
  
  
    def get_ip(self):  
  
  
        result = os.popen('ipconfig')  
        res = result.read()  
  
        resultlist = re.findall('''(?<=以太网适配器 ).*?(?=:)|(?<=无线局域网适配器 ).*?(?=:)''', res)  
  
        print(resultlist)  
  
        return resultlist  
  
if __name__ == '__main__':  
      
    im = IpManage()  
  
    im.set_ip(im.ip_list[0])

结语

藉此,我们就可以通过Python3.10动态地配置本地网卡的静态IP地址,也可以理解为是一种Python自动化流程,静态IP地址可以让IP地址语义化,对于数据中心、网站、银行的结算端口等往往需要静态IP,与此同时,也省却了手动配置静态IP的繁琐过程。文章来源地址https://www.toymoban.com/news/detail-437047.html

到了这里,关于Python3.10动态修改Windows系统(win10/win11)本地IP地址(静态IP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win11系统中文名改英文名(win11、win10修改用户名)超详细图文

            本人的电脑的win11家庭版,因为新机刚进入系统一时大意了,错误地将系统用户名写成了中文,导致后面安装和开发软件等等场景会出现一些奇奇怪怪的问题。这里绝大多数的问题都是因为存在中文路径的问题。例如有些软件在安装时会自动将相关用户功能文件安

    2024年02月03日
    浏览(31)
  • GPU深度学习环境搭建:Win10+CUDA 11.7+Pytorch1.13.1+Anaconda3+python3.10.9

    在命令行中输入【nvidia-smi】可以当前显卡驱动版本和cuda版本。 根据显示,显卡驱动版本为:Driver Version: 516.59,CUDA 的版本为:CUDA  Version 11.7。 此处我们可以根据下面的表1 显卡驱动和cuda版本对应关系得知,Driver Version: 527.47  516.31,所以可以使用 CUDA Version 11.7 CUDA工具版本

    2024年04月26日
    浏览(46)
  • windows11(win10大部分通用)系统C盘清理 | 深度优化

    前言 :首先对于计算机来说,Windows操作系统一般是安装在磁盘驱动器的C盘中,运行时会产生许多  垃圾文件  ,C盘空间在一定程度上会越来越小。而把它作为生产力工具的我们,时间越久,C盘常常会提示显示其内存已不足。C盘容量不足将会极大  影响系统的运行速度  ,

    2024年02月05日
    浏览(60)
  • Win11和Win10怎么禁用驱动程序强制签名? 关闭Windows系统驱动强制签名的技巧?

    驱动程序签名又叫做驱动程序的数字签名,它是由微软的Windows硬件设备质量实验室完成的。硬件开发商将自己的硬件设备和相应的驱动程序交给该实验室,由实验室对其进行测试,测试合格后实验室将在其驱动程序中添加数字签名。由于数字签名是由微软完成的。 Win11设备只

    2024年02月06日
    浏览(56)
  • windows10/11系统实现本地账户密码登录微软账户 微软账户取消pin登录

    Windows 10支持两种账户登录模式,一种是使用了多年的通过本地用户账户来登录系统,另一种则是使用Microsoft账户来登录系统。使用Microsoft账户登录Windows系统是从Windows 8开始支持的登录模式,这种登录模式会自动连接到微软,然后对账户信息与系统设置进行自动同步。 简单来

    2024年02月13日
    浏览(36)
  • 学习记录:Windows系统cuda11.6,安装pytorch1.12.0、python3.9

    1、查看显卡相关信息:nvidia-smi。显卡版本531.18,最大可以安装cuda12.1版本,安装步骤上一篇博客讲解过。 2、查看cuda版本:nvcc -V 3、查看anaconda是否安装:conda -V 4、查询cuda11.6对应的pytorch版本:https://pytorch.org/get-started/previous-versions/ 显示对应的pytorch1.12.0、1.12.1,接着查询适

    2023年04月17日
    浏览(31)
  • win10win11修改C盘内用户名中文名为英文名

    1.【win】+【R】,输入 创建新用户 2点击开始 会有一个新用户 3点击用户 4进入新用户 5注销原本用户 6进入资源监视器 7点击cpu 8找到 (关联的句柄)输入原本用户名的名字 9然后右键点击结束进程(然后会自动关机,等开机直接进入之前创建的ad用户 10然后打开 文件夹 用户

    2024年02月04日
    浏览(48)
  • pytorch+Anaconda+python3.10+parcharm+win10安装简化教程

    Pytorch+Anaconda+Python3.10+parcharm+WIN10安装简化教程 1、首先登陆pycharm官网,https://www.jetbrains.com/pycharm/download/ 2、下载community版本 3、下载完成后,双击安装,一直点下一步。 1、首先登录anaconda官网,https://www.anaconda.com/ 2、点击Download下载安装包 3、双击安装包安装,选择Just Me 4、更

    2024年02月02日
    浏览(37)
  • 超详细修改C盘下的用户名(适合win10和win11)

    第一步: 使用快捷键win+r,打开命令行,如下:   输入regedit,进入注册表。 第二步: 按照顺序进入目录:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionProfileList里面有几个文件(可以使用快捷键ctrl+f进入,搜索ProfileList,注意大小写,不要写错了),以S-1-5-18开头的,找到要变

    2024年01月25日
    浏览(26)
  • Win11使用动态磁贴还原经典Win10开始菜单的方法

    Win11系统界面与之前的Windows系统有很大的不同,任务栏采用居中式,开始菜单也居中了。很多用户升级之后就觉得用得非常不习惯,想要将Win11开始菜单还原到Win10系统的样子。那么下面就来看看Win11怎么使用动态磁贴还原经典Win10开始菜单的教程。 具体操作步骤如下: 1、首

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包