9

Python で、特定のネットワーク インターフェイスが稼働しているかどうかを検出する方法はありますか?

私のスクリプトでは、ユーザーはネットワーク インターフェイスを指定しますが、他の操作を行う前に、インターフェイスが稼働していて、IP アドレスが割り当てられていることを確認したいと思います。

私はLinuxを使用しており、rootです。

4

6 に答える 6

9

@Gabriel Samfira が提案したように、私はnetifaces. 次の関数は、IP アドレスが特定のインターフェイスに関連付けられている場合に True を返します。

def is_interface_up(interface):
    addr = netifaces.ifaddresses(interface)
    return netifaces.AF_INET in addr

ドキュメントはこちら

于 2013-07-16T15:28:28.210 に答える
2

でファイルの内容を確認できます/sys/class/net/<interface>/operstate。コンテンツがそうでないdown場合、インターフェイスはアップしています。

于 2017-09-21T16:42:44.527 に答える