Python에서 Bash 명령 실행
문제
Python 스크립트가 os.system()을 사용하여 Bash 명령을 실행하지 못합니다. 오류 메시지는 Python 모듈을 찾을 수 없음을 나타냅니다.
답변
이 문제를 해결하고 Python에서 Bash 명령 실행에 대한 이해를 높이려면 다음 측면을 고려하십시오.
-
하위 프로세스 모듈 선호: 더 나은 결과를 얻으려면 subprocess.run() 또는 subprocess.check_call()과 같은 관련 메서드를 사용하세요. 오류 처리 및 제어. os.system()을 사용하지 마세요.
-
text=True 사용: 표준 출력 및 오류를 유니코드 문자열로 디코딩하려면 text=True를 설정하세요.
-
쉘 이해 = True 대 shell=False:
- shell=True는 실행을 위해 문자열을 셸에 전달합니다.
- shell=False는 셸을 우회하여 운영 체제에 인수 목록을 제공합니다. .
일반적으로 shell=True로 문자열 목록을 전달하거나 다음으로 단일 문자열을 전달하여 이러한 옵션을 혼합하지 마십시오. shell=False.
-
sh와 Bash의 차이점 고려:
- 실행 파일을 지정하지 않는 한 하위 프로세스는 기본적으로 /bin/sh를 사용합니다. ='/bin/bash'(Bash에만 필요함) 구문.
-
상위 환경 변경 방지:
- 하위 프로세스는 변수 설정을 포함하여 상위 환경을 변경할 수 없습니다. 또는 작업 디렉토리를 변경합니다. os.environ[]을 사용하거나 env=.
-
Python에서 Python 실행을 피하세요:
- 스크립트를 다음과 같이 실행하는 대신 다른 Python 모듈을 가져와서 해당 함수를 직접 호출하는 것을 고려해보세요. 하위 프로세스.
위 내용은 Python 스크립트 내에서 Bash 명령을 성공적으로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!