iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3.10动态修改Windows系统本地IP地址
  • 710
分享到

Python3.10动态修改Windows系统本地IP地址

Python 官方文档:入门教程 => 点击学习

摘要

目录获取多网卡配置动态切换静态IP结语一般情况下,局域网里的终端比如本地服务器设置静态IP的好处是可以有效减少网络连接时间,原因是过程中省略了每次联网后从DHCP服务器获取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('''(?&lt;=以太网适配器 ).*?(?=:)|(?&lt;=无线局域网适配器 ).*?(?=:)''', 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的繁琐过程。

到此这篇关于Python3.10动态修改Windows系统本地IP地址的文章就介绍到这了,更多相关Python3.10动态修改本地IP地址内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python3.10动态修改Windows系统本地IP地址

本文链接: https://www.lsjlt.com/news/213146.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3.10动态修改Windows系统本地IP地址
    目录获取多网卡配置动态切换静态IP结语一般情况下,局域网里的终端比如本地服务器设置静态IP的好处是可以有效减少网络连接时间,原因是过程中省略了每次联网后从DHCP服务器获取IP地址的...
    99+
    2023-05-19
    python 动态修改IP地址 python 修改ip地址 Python实现IP更换
  • ubuntu系统 IP地址修改
    1)系统当前IP地址 192.168.123.88,打算修改为 192.168.123.80。2)打开网卡配置文件 vim /etc/network/interfaces3)将address地址修改为 192.168.1...
    99+
    2023-06-06
  • 在VMware中修改Linux虚拟机的动态IP地址为静态IP地址
    为什么需要将虚拟机修改成静态IP地址 因为如果你想要远程连接你的虚拟机,或虚拟机上的数据库及项目,但是你的虚拟机是动态IP地址的话,每次重启虚拟机时虚拟机的IP地址都会发生改变,这就导致了每次重启虚拟机后都要重新查询虚拟机的IP地址,...
    99+
    2023-09-24
    linux centos 服务器 网络
  • windows中如何修改IP地址
    这篇文章主要讲解了“windows中如何修改IP地址”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows中如何修改IP地址”吧!修改IP地址的方法找到右下角网络图标,点击打开网络和I...
    99+
    2023-07-01
  • linux系统更改ip地址
    要在Linux系统中更改IP地址,可以按照以下步骤操作:1. 打开终端或控制台窗口。2. 输入以下命令以编辑网络配置文件: &nbs...
    99+
    2023-09-07
    Linux
  • linux怎么修改静态ip地址
    要在Linux上修改静态IP地址,可以按照以下步骤进行操作: 打开终端窗口,以管理员权限登录系统。 使用以下命令编辑网络配置文件:...
    99+
    2023-10-20
    linux
  • ubuntu怎么修改静态ip地址
    要在Ubuntu上修改静态IP地址,您可以按照以下步骤操作: 打开终端,以管理员权限切换到root用户。输入以下命令: sudo...
    99+
    2024-02-29
    ubuntu
  • Ubuntu修改IP地址
    安装的核心版ubuntu,不带桌面图形界面,需要修改IP地址,如下操作: 找到网卡配置文件 sudo cp /etc/netplan/你的网卡文件.yaml /etc/netplan/你的网卡文件.yaml.bak 修改如下配置,注意对齐...
    99+
    2023-10-23
    ubuntu 服务器 linux
  • 怎么在Centos7系统中修改IP地址
    本篇文章为大家展示了怎么在Centos7系统中修改IP地址,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、进入网络配置文件目录首先,确保在root用户下进行操作。进入网络配置文件network-s...
    99+
    2023-06-10
  • Windows使用命令脚本快速修改IP地址
    一、场景 有 N 台内网工控机, 需要安装环境,发布程序,测试,调试 等等(暂不考虑部署k8s)。由于是内网, 最好的连接方式就是本机电脑和工控机组成一个局域网进行通信。然而每台电脑的ip地址又不一致(不在同网段),导致每次连接不同的工控机...
    99+
    2023-09-05
    tcp/ip 网络 服务器 ip设置
  • linux能不能修改静态ip地址
    这篇文章主要讲解了“linux能不能修改静态ip地址”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux能不能修改静态ip地址”吧!linux能修改静态ip地址。方法为:1、用ifcon...
    99+
    2023-06-30
  • Win7系统本地IP地址设置教程
    在默认情况下,PC设备动获取IP地址和DNS服务,但用户也可以将其设置为固定的IP地址,以避免IP地址在局域网或网络共享中的冲突。那么如何设置Win7系统的本地IP地址呢?让我们一起来看看。Win7系统本地IP地址设置教程打开设备后,进入控...
    99+
    2023-07-16
  • 如何使用Shell脚本自动修改IP地址
    如何使用Shell脚本自动修改IP地址,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。#!/bin/sh #auto Change ip&nbs...
    99+
    2023-06-09
  • 怎么在windows系统中动态修改ip
    怎么在windows系统中动态修改ip?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。echo 设置ip 默认子网 默认网关 开始(无线网络连接:就是网络连接名称,也可以是&...
    99+
    2023-06-14
  • centos怎么修改ip地址
    要在CentOS上修改IP地址,您可以按照以下步骤进行操作:1. 打开终端并以root用户身份登录。2. 使用以下命令查看当前网络连...
    99+
    2023-08-17
    centos
  • rac如何修改ip地址
    小编给大家分享一下rac如何修改ip地址,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!oracle release 11.2.0...
    99+
    2024-04-02
  • gitlab怎么修改IP地址
    如果你使用的是GitLab,你可能会面临需要在网络配置更改时修改GitLab IP地址的情况。在这篇文章中,我们将告诉你如何将GitLab IP地址更改为新的IP地址。首先,确保你已经获得了新的IP地址。在更改GitLab的IP地址之前,确...
    99+
    2023-10-22
  • win11如何修改ip地址
    本篇内容主要讲解“win11如何修改ip地址”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win11如何修改ip地址”吧!win11修改ip地址的方法:第一步,右键右下角网络图标,打开“网络和i...
    99+
    2023-06-30
  • windows命令行修改ip地址和dns服务器地址的方法
    每个星期都要周转于实验室与宿舍之间。实验室该死的公共路由器锁定IP。完事每次动态IP又总是错误地址,只能一次一次的手动修改。然后我又那么懒不想打开图形化界面去操作,索性学了一手。 命令格式:netsh in 命令解释: ...
    99+
    2023-06-04
    windows命令行 ip地址 dns服务器 dns 地址 服务器 ip 命令行
  • Ubuntu如何修改ip地址
    本篇内容主要讲解“Ubuntu如何修改ip地址”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu如何修改ip地址”吧!0x00使用ifconfig命令查看网卡ifconfig0...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作