2

Linux forWin7で書いたコードを調整しています。

Linuxでは次のようになりました。

subprocess.call(['./myscript.py', arg1, arg2, arg3])

シェルから起動され、すべてが正常に機能していました。Windowsの場合(私はIdleのPythonを使用しています)私はそれを作りました:

subprocess.call(['myscript.py', arg1, arg2, arg3],  shell=True)

何も起動しないようですが、エラーは返されません。pdb.set_trace()を使用して関数をデバッグしようとしましたが、myscript.py内のチェックポイントが表示されません。

4

1 に答える 1

1

コメントやリンクされた質問のように、WindowsではPythonスクリプトを単純に実行することはできません。また、Python実行可能ファイルへのパスを指定する必要があります。すでにPythonを使用しているので、実行可能ファイルの場所は次のコマンドで簡単に見つけることができます。sys.executable

import sys

p = subprocess.Popen([sys.executable, 'myscript.py', arg1, arg2, arg3])

出力はパイプされてstderrおり、stdoutそれを確認するには、出力も必要です。communicate

(stdoutdata, stderrdata) = p.communicate()

print stdoutdata, 
print stderrdata
于 2013-03-21T15:31:16.180 に答える