2016-06-26 10 views
0

私は別のアプリケーションを実行するためのpythonアプリケーションを書いています。アプリケーションはavrdude.exeで、アプリケーションの出力を変数に読み込みます。私は様々な方法(サブプロセス、通信、チェックアウトなど)を試みましたが、私が得ているのは空の文字列です。何か案は?変数のpythonへのアプリケーション出力の取得

import os 
import subprocess 
from subprocess import Popen, PIPE, STDOUT 
import sys 
p1 = subprocess.Popen(['avrdude.exe', '--help'], stdout=subprocess.PIPE, shell=False) 
output, error = p1.communicate() 
print ("hi") 
print output 
+0

「エラー」には何が含まれていますか? – SilentMonk

+0

avrdude.exeをコマンドラインから実行できますか?おそらく、正しく設定されておらず、エラーが発生している可能性があります。 'p1.returncode'の値は何ですか –

+0

はい。私はコマンドラインから実行することができます。エラーはありません。私は '出力'を印刷するときに何も得られません。 – user3824502

答えて

0

私はあなたのavrdude.exe--helpオプションを提供していないと思いますので、実行は唯一のエラー出力を結果。

オプションで直接実行するか、stderrを指定して、var errorから入手できるものを確認してください。

+0

です。私はコマンドラインから直接実行することができます。 – user3824502

+0

エラー変数は0を返します。 – user3824502

+0

アプリケーションが開いているか何かを必要としているかどうか疑問に思っていました。コマンドラインから試してみると、アプリケーションは終了します。この場合も同じことが起こっているはずです。アプリケーションを終了することを凍結する方法はありますか?同時に、その実行を妨げるものではありませんか? – user3824502

関連する問題