欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3.10動(dòng)態(tài)修改Windows系統(tǒng)本地IP地址

 更新時(shí)間:2023年05月09日 08:24:19   作者:劉悅的技術(shù)博客  
這篇文章主要介紹了Python3.10動(dòng)態(tài)修改Windows系統(tǒng)本地IP地址,需要的朋友可以參考下

一般情況下,局域網(wǎng)里的終端比如本地服務(wù)器設(shè)置靜態(tài)IP的好處是可以有效減少網(wǎng)絡(luò)連接時(shí)間,原因是過(guò)程中省略了每次聯(lián)網(wǎng)后從DHCP服務(wù)器獲取IP地址的流程,缺點(diǎn)是容易引發(fā)IP地址的沖突,當(dāng)然,還有操作層面的繁瑣,如果想要切換靜態(tài)IP地址,就得去網(wǎng)絡(luò)連接設(shè)置中手動(dòng)操作,本次我們使用Python3.10動(dòng)態(tài)地修改電腦的靜態(tài)IP地址。

獲取多網(wǎng)卡配置

一個(gè)網(wǎng)卡對(duì)應(yīng)一個(gè)靜態(tài)IP地址,但機(jī)器上未必只有一個(gè)網(wǎng)卡,所以如果想動(dòng)態(tài)切換,必須要指定網(wǎng)卡名稱,Win系統(tǒng)中通過(guò)ipconfig命令來(lái)獲取當(dāng)前系統(tǒng)的網(wǎng)卡信息:

ipconfig

系統(tǒng)返回:

PS C:\Users\liuyue\h2102-a\videopro> ipconfig  
Windows IP 配置  
以太網(wǎng)適配器 以太網(wǎng):  
   連接特定的 DNS 后綴 . . . . . . . :  
   本地鏈接 IPv6 地址. . . . . . . . : fe80::a216:f22a:52a:3388%4  
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.104  
   子網(wǎng)掩碼  . . . . . . . . . . . . : 255.255.255.0  
   默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . : 192.168.1.1  
以太網(wǎng)適配器 以太網(wǎng) 2:  
   連接特定的 DNS 后綴 . . . . . . . :  
   IPv6 地址 . . . . . . . . . . . . : fdb2:2c26:f4e4:0:7703:1e08:e622:2f0  
   臨時(shí) IPv6 地址. . . . . . . . . . : fdb2:2c26:f4e4:0:717c:b59e:b6cd:51b2  
   本地鏈接 IPv6 地址. . . . . . . . : fe80::2645:f265:ad72:c751%16  
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.118  
   子網(wǎng)掩碼  . . . . . . . . . . . . : 255.255.255.0  
   默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . :  
以太網(wǎng)適配器 vEthernet (Default Switch):  
   連接特定的 DNS 后綴 . . . . . . . :  
   本地鏈接 IPv6 地址. . . . . . . . : fe80::3ece:9b38:2572:4e33%18  
   IPv4 地址 . . . . . . . . . . . . : 172.31.16.1  
   子網(wǎng)掩碼  . . . . . . . . . . . . : 255.255.240.0  
   默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . :

如果想通過(guò)Python來(lái)獲取網(wǎng)卡信息,則需要在腳本中運(yùn)行ipconfig命令,構(gòu)建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('''(?<=以太網(wǎng)適配器 ).*?(?=:)|(?<=無(wú)線局域網(wǎng)適配器 ).*?(?=:)''', res)  
  
        print(resultlist)  
  
        return resultlist  
  
if __name__ == '__main__':  
      
    IpManage()

這里通過(guò)os模塊的popen方法來(lái)運(yùn)行ipconfig命令,隨后再使用正則來(lái)匹配網(wǎng)卡名稱,最后將匹配到的網(wǎng)卡列表賦值給實(shí)例屬性,程序返回:

['以太網(wǎng)', '以太網(wǎng) 2', 'vEthernet (Default Switch)']  
[Finished in 394ms]

至此,三塊網(wǎng)卡的名稱就獲取到了。

動(dòng)態(tài)切換靜態(tài)IP

接下來(lái)就是通過(guò)Python腳本來(lái)動(dòng)態(tài)切換指定網(wǎng)卡的靜態(tài)IP地址了,Windows系統(tǒng)通過(guò)netsh命令來(lái)指定IP地址:

netsh interface ip set address name=以太網(wǎng) static 192.168.201.137 255.255.248.0 192.168.200.1

這里name參數(shù)是網(wǎng)卡名稱,后來(lái)三個(gè)地址分別代表靜態(tài)IP地址,子網(wǎng)掩碼以及網(wǎng)關(guān)地址。

這里將第一塊網(wǎng)卡的靜態(tài)IP地址設(shè)置為192.168.201.137,子網(wǎng)掩碼是255.255.248.0,網(wǎng)關(guān)地址為192.168.200.1。

隨后在Windows的網(wǎng)絡(luò)連接設(shè)置中進(jìn)行查看:

發(fā)現(xiàn)已經(jīng)設(shè)置好了,隨后再手動(dòng)修改為自動(dòng)獲得IP地址選項(xiàng)。

下面通過(guò)Python腳本進(jìn)行設(shè)置:

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)

這里添加一個(gè)實(shí)例方法來(lái)設(shè)置ip地址,同樣使用popen方法來(lái)運(yùn)行命令,隨后進(jìn)行調(diào)用:

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

這里將第一塊網(wǎng)卡的IP地址進(jìn)行指定操作。

完整代碼:

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;=以太網(wǎng)適配器 ).*?(?=:)|(?&lt;=無(wú)線局域網(wǎng)適配器 ).*?(?=:)''', res)  
  
        print(resultlist)  
  
        return resultlist  
  
if __name__ == '__main__':  
      
    im = IpManage()  
  
    im.set_ip(im.ip_list[0])

結(jié)語(yǔ)

藉此,我們就可以通過(guò)Python3.10動(dòng)態(tài)地配置本地網(wǎng)卡的靜態(tài)IP地址,也可以理解為是一種Python自動(dòng)化流程,靜態(tài)IP地址可以讓IP地址語(yǔ)義化,對(duì)于數(shù)據(jù)中心、網(wǎng)站、銀行的結(jié)算端口等往往需要靜態(tài)IP,與此同時(shí),也省卻了手動(dòng)配置靜態(tài)IP的繁瑣過(guò)程。

到此這篇關(guān)于Python3.10動(dòng)態(tài)修改Windows系統(tǒng)本地IP地址的文章就介紹到這了,更多相關(guān)Python3.10動(dòng)態(tài)修改本地IP地址內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python常用模塊之requests模塊用法分析

    Python常用模塊之requests模塊用法分析

    這篇文章主要介紹了Python常用模塊之requests模塊用法,結(jié)合實(shí)例形式分析了Python使用requests模塊發(fā)送GET、POST請(qǐng)求及響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • Python編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能

    Python編寫(xiě)通訊錄通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)實(shí)現(xiàn)模糊查詢功能

    數(shù)據(jù)庫(kù)存儲(chǔ)通訊錄,要求按姓名/電話號(hào)碼查詢,查詢條件只有一個(gè)輸入入口,自動(dòng)識(shí)別輸入的是姓名還是號(hào)碼,允許模糊查詢。這篇文章主要介紹了Python編寫(xiě)通訊錄,支持模糊查詢,利用數(shù)據(jù)庫(kù)存儲(chǔ),需要的朋友可以參考下
    2019-07-07
  • python如何隨機(jī)生成高強(qiáng)度密碼

    python如何隨機(jī)生成高強(qiáng)度密碼

    這篇文章主要為大家詳細(xì)介紹了python隨機(jī)生成高強(qiáng)度密碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • python根據(jù)多個(gè)文件名批量查找文件

    python根據(jù)多個(gè)文件名批量查找文件

    這篇文章主要為大家詳細(xì)介紹了python根據(jù)多個(gè)文件名批量查找文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 源碼解析python的內(nèi)存回收機(jī)制

    源碼解析python的內(nèi)存回收機(jī)制

    在CPython中,引用計(jì)數(shù)是用來(lái)管理內(nèi)存的一種方法,當(dāng)一個(gè)Python對(duì)象的引用計(jì)數(shù)變?yōu)榱銜r(shí),表示沒(méi)有其他對(duì)象引用該對(duì)象,因此可以安全地將其內(nèi)存回收,需要的朋友可以參考下
    2023-04-04
  • Python教程之全局變量用法

    Python教程之全局變量用法

    這篇文章主要介紹了Python教程之全局變量用法,結(jié)合實(shí)例形式分析了Python全局變量的定義、修改等使用方法及注意事項(xiàng),需要的朋友可以參考下
    2016-06-06
  • Python全棧之字符串和列表相關(guān)操作

    Python全棧之字符串和列表相關(guān)操作

    這篇文章主要為大家介紹了Python字符串和列表相關(guān)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • 在linux下實(shí)現(xiàn) python 監(jiān)控usb設(shè)備信號(hào)

    在linux下實(shí)現(xiàn) python 監(jiān)控usb設(shè)備信號(hào)

    今天小編就為大家分享一篇在linux下實(shí)現(xiàn) python 監(jiān)控usb設(shè)備信號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python處理中文編碼和判斷編碼示例

    python處理中文編碼和判斷編碼示例

    在開(kāi)發(fā)自用爬蟲(chóng)過(guò)程中,有的網(wǎng)頁(yè)是utf-8,有的是gb2312,有的是gbk,如果不加處理,采集到的都是亂碼,解決的方法是將html處理成統(tǒng)一的utf-8編碼
    2014-02-02
  • Pycharm終端顯示PS而不顯示虛擬環(huán)境名的解決

    Pycharm終端顯示PS而不顯示虛擬環(huán)境名的解決

    這篇文章主要介紹了Pycharm終端顯示PS而不顯示虛擬環(huán)境名的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論