Pythonのsubprocess.Popen()
でコマンドの実行ディレクトリを指定する方法はありますか?
例えば:
Popen('c:\mytool\tool.exe', workingdir='d:\test\local')
PythonスクリプトはC:\programs\python
にあります
ディレクトリC:\mytool\tool.exe
でD:\test\local
を実行できますか?
サブプロセスの作業ディレクトリを設定するにはどうすればよいですか?
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 os
を使用し、これを使用してcwdを定義します。
os.path.dirname(os.path.realpath(__file__))