0

時々変化する IP の配列があり、新しい IP が出現するたびにコマンドを実行したいと考えています。

私が持っているコードは次のとおりです。

while (network.status!="connected"):
    p=network.connections  
    for i in p:
        print i.ip  #checks the IP's in the array i
    time.sleep(10)    

したがって、配列に新しい値があるときはいつでも、特定のコマンドを実行したいと考えています。Pythonでこれを行う最も効率的な方法は何ですか.

4

2 に答える 2

5

a を使用してset、各ループの違いを確認します。

old = set()
while network.status != "connected":
    p = set(network.connections)
    for i in p - old:
        print i.ip # new ips that were added
    for i in old - p:
        print i.ip # old ips that were removed
    old = p
    time.sleep(10)   
于 2012-11-12T13:47:58.757 に答える
0

リストをサブクラス化してハンドラーに接続するのはどうですか?ここを見てください: https ://stackoverflow.com/a/12203829/1091116 あなたがしたいのは、「validate」の名前を変更し、リストにアイテムを追加したことに反応するようにすることです。

于 2012-11-12T13:57:40.170 に答える