Python에서 프로그램을 실행하는 방법
Python은 os.system() 함수를 사용하여 외부 프로그램을 실행하는 편리한 방법을 제공합니다. 그러나 프로그램 경로에 공백이 포함되어 있으면 이 함수가 실패할 수 있습니다.
해결 방법: subprocess.call() 사용
subprocess.call() 함수는 경로의 공백으로 인해 발생하는 인용 문제를 방지하는 os.system()의 대안입니다. 단일 문자열 대신 인수 목록을 사용하여 인수 구분을 단순화합니다.
<code class="python">import subprocess subprocess.call(['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'])</code>
이 예에서 Notepad.exe는 매개 변수 C:\test.txt를 사용하여 실행됩니다. subprocess.call() 함수는 프로그램이 완료될 때까지 기다립니다.
기타 옵션
1. 공백 이스케이프
경로를 큰따옴표로 묶으면 공백을 이스케이프할 수 있습니다. 하지만 이 방법은 여러 매개변수를 추가할 경우 번거로울 수 있습니다.
<code class="python">os.system('"C:\Temp\a b c\Notepad.exe" "C:\test.txt"')</code>
2. os.system()
shell=True와 함께 Shell=True를 사용하면 운영 체제의 명령 해석기가 인용 규칙을 처리할 수 있습니다. 그러나 이 방법에는 보안 위험이 따릅니다.
<code class="python">os.system("C:\Temp\a b c\Notepad.exe C:\test.txt", shell=True)</code>
결론
subprocess.call()은 경로에 다음이 포함된 경우 Python에서 프로그램을 실행하는 데 선호되는 방법입니다. 공백. 간단하고 안전한 솔루션을 제공합니다.
위 내용은 Python에서 경로에 공백이 있는 프로그램을 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!