2016-09-29 7 views
0

にpopenのからの例外を取得し、私はpythonでこのコードを実行する:ここで(test.py)はパイソン

from subprocess import Popen 
p = Popen("file.bat").wait() 

がFILE.BATである:ここでは

@echo off 
start c:\python27\python.exe C:\Test\p1.py %* 
start c:\python27\python.exe C:\Test\p2.py %* 
pause 

はp1.pyです:

This line is error 
print "Hello word" 

p2.pyは興味がありません

私は欲しいですtest.pyを実行してp1.pyの例外(コンパイルエラーだけでなく)を知ることができますか? どうすればいいですか?

ありがとうございます!

答えて

0

は、ここで私はそれが働いてしまった方法は次のとおりです。 test.py

from subprocess import Popen 
p = Popen(["./file.sh"]).wait() 

ファイルの周り[]を追加してください、だけでなく、./。引数を追加することもできます: ["./file.sh", "someArg"] 私はWindowsではありませんが、これはUbuntuで修正されています。それでも問題

を持っている場合はコメントしてください

EDIT: は、私は本当の解決策があると思う:「」Using subprocess to run Python script on Windows

まだpopenの

+0

を使用しているときに、パイソンからPythonスクリプトを実行することができますこの方法内部または外部のコマンドとして認識されない - このエラーが発生しました –

+0

なぜfile.shですか?私のファイルは.batです。 –

+0

私はLinux上で、私は 'バット'を走らせることができません。 'sh'を' bat'に置き換えて試してみてください。 –