2016-07-06 3 views
1

最近、私は別のpythonコードからpythonファイル 'file1.py'を実行する次のコードを書いています。私はサブプロセスとpopenの問題

Pythonコード(raspianで)ラズベリーパイに取り組んでいます:

import subprocess 
    subprocess.Popen(['python','./file1.py']) 
    print 'Done' 

出力:画面上

Done 

file1.pyが実行されていない、他の応答

file1.py

a=5 
    a=a+5 
    print(a) 

私は幾分同じ質問を探しましたが、それは私のために働いていません。助けてください!

Running multiple Python scripts

+1

を見るのに役立ちます最後に処理プロセス出力を取得しますなぜ 'subprocess.Popen()'を使って他のスクリプトを実行していますか?正常にインポートして実行できるだけではありません – SiHa

+0

サブプロセスで[python getoutput()と同等の可能性のある複製](http://stackoverflow.com/questions/6657690/python-getoutput-equivalent-in-subprocess) – SiHa

+0

こんにちは@ amratansh-あなたはファイル 'file1.py'の中にシバンを使ってみませんか? –

答えて

1

Popenフォークあなたは、単に実行されるスクリプトで印刷することにより、その出力が表示されないことを意味し、現在のプロセス、。

あなたは、その出力をリダイレクトする必要があります。

p = subprocess.Popen(['python','./file1.py'], stdout=subprocess.PIPE) 
print(p.stdout.read()) 
+0

ありがとうございます、それは働いています。しかし、私のfile1.pyがユーザーからの入力値を必要とする場合、この場合、どのように私はこれを変更して、私は必要なデータを入力することができますか? –

0
p=subprocess.Popen(["python","1st.py"],stdin=PIPE,stdout=PIPE) 
print p.communicate()[0] 

OR

print(p.stdout.read()) 

は(コミュニケーション)の結果

関連する問題