私がPythonで何かをしたとき:
ping = subprocess.Popen("ping -n 1 %s" %ip, stdout=subprocess.PIPE)
それは常に画面に印刷することです:
(subprocess.Popen object at 0x.... )
それは私にとって少し迷惑です。そのstd出力を回避する方法を知っていますか?
私がPythonで何かをしたとき:
ping = subprocess.Popen("ping -n 1 %s" %ip, stdout=subprocess.PIPE)
それは常に画面に印刷することです:
(subprocess.Popen object at 0x.... )
それは私にとって少し迷惑です。そのstd出力を回避する方法を知っていますか?
ping
例の変数を出力して、プロセスからstdoutを取得しようとしているようです。subprocess.Popen
これは、オブジェクトの誤った使用法です。正しく使用するために、subprocess.Popen
これはあなたが書くものです:
ping_process = subprocess.Popen(['ping', '-c', '1', ip], stdout=subprocess.PIPE)
# This will block until ping exits
stdout = ping_process.stdout.read()
print stdout
pingに使用した引数も変更しました。これ-n
は、私のマシンの実装では無効な引数であるためです。