簡體   English   中英

Python 3.4和Netifaces-獲取一個特定的IPv4地址

[英]Python 3.4 & Netifaces - Get one specific IPv4 address

我試圖從移動互聯網接口獲取(或返回)IP地址,每次將其重新插入筆記本電腦時,該地址都會更改。 我發現使用netiface的界面:

import netiface

netifaces.interfaces()

這給了我很多接口,並說我需要的接口是xxx123-yyy456,所以我執行以下操作:

myIface = netifaces.ifaddressess('xxx123-yyy456')
myIface[netifaces.AF_INET]

其中顯示了這些地址(數字已更改):

[{'addr': '10.0.0.1', 'broadcast': '10.0.0.2', 'netmask': '255.255.255.255'}]

我不確定是列表還是字典,因此我在努力獲取IP地址。 我只得到三個詞的清單:

addr
broadcast
netmask

我需要的是'addr':之后的地址,因此我可以使用它並稍后再調用。 例如:

myIp = <the IP the interface curently has>
print(myIp)

這樣,每次我重新插入移動互聯網接口時,我都會得到新地址。

您有一個包含一個元素的列表,一個字典。 方括號表示列表,而大括號表示其中的字典。

>>> results = [{'addr': '10.0.0.1', 'broadcast': '10.0.0.2', 'netmask': '255.255.255.255'}]
>>> results[0]
{'addr': '10.0.0.1', 'broadcast': '10.0.0.2', 'netmask': '255.255.255.255'}
>>> results[0]['addr']
'10.0.0.1'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM