[英]Python - query network interface setting
我的夢想是使用python查詢WIN上的網卡設置。 我需要查詢NIC是否設置為全雙工,以及是否將其設置為1000Mb full。 WMI名為Win32_NetworkAdapterConfiguration的類不提供這些信息。或者,cmd命令行解決方案也可能會引起誤解(通過python調用)。
日Thnx
正如@ironfroggy所說,這不是特定於Python,而是Windows的一般問題。
當我們想以編程方式在網卡上找到速度和雙工設置時,這非常困難。 最后,我們求助於遍歷注冊表,注冊表的結構因您的NIC供應商而異。
它是這樣的: 對於任何錯誤,我們深表歉意:
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Network
並查找具有數據“網絡適配器”的GUID。 將此<GUID1>
。 <GUID1>
鍵的下面是每個NIC的另一個GUID。 將其中之一<GUID2>
。 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\<GUID1>
。 NetCfgInstanceId
等於<GUID2>
。 ParamDesc
的值,其值包含單詞“ speed”和“ duplex”。 記住鍵名並將其命名為<SpeedDuplexParamName>
。 <SpeedDuplexParamName>
下方有一個enum
鍵,該鍵將數字與描述相匹配,例如“自動檢測”和“ 100 Mb已滿”。 NetCfgInstanceId
。 在附近,您可以看到當前值作為一個枚舉。 在此處的一個示例中,值名稱為RequestedMediaType
,值為6。 我看到@ DrFalk3n鏈接到可能說相同的Microsoft文章,但是如果有幫助,我將在此處保留。
這確實不是python問題。 您可以使用win32api進行任何操作,也可以通過Python進行操作,因此這里的問題只是關於Windows API,而恰好是從Python調用它們並沒有什么區別。 實際上,沒有Python標記的詢問可能會得到更好的響應,因為人們會看到知道如何使用另一種語言(使用相同的API)的人。
是! 這確實不是python問題。 無論如何,請看一下: 列出網絡適配器配置屬性
然后瀏覽到python @ microsoft腳本存儲庫可能對您的問題有所幫助。
您還可以在python中找到有用的代碼:
>>> import os
>>> f= os.popen('<type your dos command>')
>>> s = f.read()
>>> print s
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.