하위 프로세스를 사용하여 하위 디렉터리 또는 상위 디렉터리 내에서 스크립트를 실행하려고 하면 "OSError: [Errno 2] No" 오류가 발생할 수 있습니다. "
이 문제는 문제의 코드가 쉘 내부인 "cd" 프로그램을 호출하기 때문에 발생합니다. "cd"를 올바르게 호출하려면 "shell=True" 인수와 함께 "cd"라는 명령을 사용해야 합니다.
<code class="python">subprocess.call('cd ..', shell=True) </code>
그러나 이 코드는 프로세스가 다른 프로세스의 작업 디렉터리를 변경할 수 없으므로 효과적이지 않습니다. UNIX 유사 또는 Windows 운영 체제.
대신 "os.chdir()" 함수 또는 "cwd" 매개변수라는 "하위 프로세스"를 활용하여 하위 프로세스를 실행하기 전에 작업 디렉터리를 변경할 수 있습니다.
예를 들어, 루트 디렉터리에서 "ls"를 실행하려면 다음을 사용할 수 있습니다.
<code class="python">os.chdir("/") subprocess.Popen("ls")</code>
또는 간단히 다음을 사용할 수 있습니다.
<code class="python">subprocess.Popen("ls", cwd="/")</code>
위 내용은 하위 프로세스를 사용하여 하위 디렉터리 또는 상위 디렉터리에서 스크립트를 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!