どのように私はpopenのための作業ディレクトリを指定することができます

StackOverflow https://stackoverflow.com/questions/1685157

  •  18-09-2019
  •  | 
  •  

質問

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

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

私のPythonスクリプトはC:\programs\pythonに位置しています。

ですが、ディレクトリC:\mytool\tool.exeD:\test\localを実行することは可能でしょうか?

私は、サブプロセスの作業ディレクトリを設定する方法を教えてください。

役に立ちましたか?

解決

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

だから、あなたの新しい行は次のようになります:

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

CWD、import osとしてあなたのPythonスクリプトのパスを使用し、これを使用してCWDを定義するには:

os.path.dirname(os.path.realpath(__file__)) 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top