-2
subprocess.callを呼び出すとcmd.exeがオフになるので、実行エラーを示す戻り値 '1'だけが返されます。説明するためのスクリーンショットのみです。Pythonのsubprocess.callに関する不思議
勝ちcmdの下で、それはうまく動作します。なぜそれがサブプロセスコールを破るのですか? Pythonで
Year: 979
Year: 980
Year: 981
Year: 982
Year: 983
Year: 984
Year: 985
Year: 986
Year: 987
Year: 988
Year: 989
SPINUP: residual trend = -0.000069
SPINUP: number of years = 990
H:\calibration\bgcclimb>pointbgc.exe .\ini\spinup\t59_13_79_29_11_80_8.ini
使用subproceess.call:戻り値 '1' ではなく、 '0'
subprocess.call([r'H:\calibration\bgcclimb\pointbgc.exe',r'.\ini\spinup\t59_13_79_29_11_80_8.ini'])
Out[7]: 1
使用subprocess.Popenチェック標準エラー出力:
process = subprocess.Popen([r'H:\calibration\bgcclimb\pointbgc.exe',r'.\ini\spinup\t59_13_79_29_11_80_8.ini'], shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
out, err = process.communicate()
errcode = process.returncode
err
Out[3]: b"Can't open .\\ini\\spinup\\t59_13_79_29_11_80_8.ini for ascii read ... Exiting\r\nError opening init file, pointbgc.c\r\n"
stdoutとstderrまたは呼び出しをキャプチャすると、何が間違っているかが分かります。 –
stderrヒント: 'b" ASCII読み込みのために\\ ini \\ spinup \\ t59_13_79_29_11_80_8.iniを開くことはできません... \ r \ nエラー開始用ファイル、pointbgc.c \ r \ n "' @ ers81239 – Cobin
テキストの*絵*を投稿しないでください。テキスト自体を投稿してください。 – larsks