1

Python でコマンド ラインを実行するのに問題があります。私は現在使用しています

os.system("cd " + path)
os.system(command)

ただし、os.system は毎回新しいコンソールを開きます。

動作させるにはどのクラスを使用すればよいですか? 出力を傍受するにはどうすればよいですか?

ありがとう !

4

3 に答える 3

8
from subprocess import call
call(["ls", "-l"])

subprocessvsの利点systemは、柔軟性が高いことです。stdout、stderr、「実際の」ステータス コード、より優れたエラー処理などを取得できます。

また、Python ドキュメントも参照してください。

于 2013-01-04T23:49:09.563 に答える
1

上記を修正するには:

os.chdir(path)
os.system(command)

データをキャプチャするには、サブプロセスを調べます: http://docs.python.org/2/library/subprocess.html

あなたはpython 1.7を使用しているので:

output=os.popen(command,"r").readlines()
于 2013-01-04T23:49:05.507 に答える
0

私はいつも os.chdir("dirname") この関数を使用します。この関数は cd 関数と同じように機能するため os.chdir("dir_thats_right_here") os.chdir("/dir/thats/far/away")

于 2013-01-05T03:52:43.173 に答える