217

Python でコマンドの実行ディレクトリを指定する方法はありますsubprocess.Popen()か?

例えば:

Popen('c:\mytool\tool.exe', workingdir='d:\test\local')

私のPythonスクリプトは次の場所にありますC:\programs\python

C:\mytool\tool.exeディレクトリで実行できD:\test\localますか?

サブプロセスの作業ディレクトリを設定するにはどうすればよいですか?

4

2 に答える 2

320

subprocess.Popen cwd現在の作業ディレクトリを設定する引数を取ります。また、バックスラッシュ ( 'd:\\test\\local')をエスケープするr'd:\test\local'か、バックスラッシュが Python によってエスケープ シーケンスとして解釈されないように使用することもできます。あなたが書いたように、その\t部分はに変換されますtab

したがって、新しい行は次のようになります。

subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')

Python スクリプト パスを cwd として使用し、これを使用してimport oscwd を定義するには:

os.path.dirname(os.path.realpath(__file__)) 
于 2009-11-06T03:10:03.240 に答える