5

現時点では、次の方法を使用して Python 内から bash コマンドを実行しています。

os.system(cmd)

ただし、新しいシェル/ターミナルでコマンドを実行する必要があります。誰もこれを行う方法を知っていますか?

ありがとう、ダン

4

3 に答える 3

7

私は次の方法を使用しています(これにより、stderrもstdoutにリダイレクトされます):

import subprocess    
cmd_line = "echo Hello!"
p = subprocess.Popen(cmd_line, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out = p.communicate()[0]
print out
于 2012-10-12T11:20:28.043 に答える
1

os.system()は推奨されていません:

import subprocess
print subprocess.check_output("command", shell=True)
于 2012-10-12T11:17:36.013 に答える