21

重複の可能性:
Python で外部コマンドを呼び出す

Pythonを使用して別のディレクトリでコマンドを実行したい。

これに使用されるさまざまな方法と、最も効率的な方法はどれですか?

私がやりたいことは次のとおりです。

cd dir1
execute some commands
return 
cd dir2
execute some commands
4

4 に答える 4

6

当然のことながら、Python を介してシェルで (単純な) コマンドを実行したい場合は、モジュールのsystem関数を介して実行します。os例えば:

import os
os.system('touch myfile')

コマンドの実行をさらに細かく制御できる、より洗練されたものが必要な場合は、subprocess他の人が提案したモジュールを使用してください。

詳細については、次のリンクをたどってください。

于 2013-01-22T11:54:59.650 に答える
4

呼び出されたシェル コマンドをより詳細に制御したい場合 (つまり、stdin および/または stdout パイプへのアクセス、または非同期での開始)、次のsubprocessモジュールを使用できます。

import subprocess

p = subprocess.Popen('ls -al', shell=True, stdout=subprocess.PIPE)
stdout, stderr = p.communicate()

subprocessモジュールのドキュメントも参照してください。

于 2013-01-22T11:50:51.287 に答える
1
os.system("/dir/to/executeble/COMMAND")

例えば

os.system("/usr/bin/ping www.google.com")

pingプログラムが「/usr/bin」にある場合

当然、osモジュールをインポートする必要があります。

os.systemは出力を待機しません。出力が必要な場合は、次を使用する必要があります。

subprocess.callまたはそのようなもの

于 2013-01-22T11:44:28.620 に答える
0

コマンドを実行したり、出力をチェックしたり、エラーメッセージを受け取ったりするための多くのモジュールを提供するPython Subprocessを使用できます。

于 2013-01-22T11:51:18.593 に答える