こんにちは私は次のコマンドを使用してPythonからシェルスクリプトを実行しようとしています。私のシェルスクリプトでPythonで実行しているシェルスクリプトの出力をリダイレクト
os.system("sh myscript.sh")
は私が書かれているいくつかのSOPさん、今どのように私はPythonでSOPのは、私はいくつかのファイルにそれらをログに記録できるように入手できますか?
私は使用していることを知っていますsubprocess.Popen
私はそれを行うことができます、何らかの理由で私はそれを使用することはできません。
p=subprocess.Popen(
'DMEARAntRunner \"'+mount_path+'\"',
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
while 1:
line=p.stdout.readline()[:-1]
if not line:
break
write_to_log('INFO',line)
p.communicate()
あなたは本当にその種のコマンドにシェルを使用したくない... – ThiefMaster
PIPEの代わりに 'stdout = some_file_like_object'を設定してみませんか?コマンドの出力を標準ストリームで見る必要がありますか? – jadkik94