[python] popen에 대한 작업 디렉토리를 지정하는 방법

파이썬에서 실행중인 명령 디렉토리를 지정하는 방법이 subprocess.Popen()있습니까?

예를 들면 다음과 같습니다.

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

내 파이썬 스크립트는 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__)) 


답변