>백엔드 개발 >파이썬 튜토리얼 >Python에서 경로에 공백이 있는 프로그램을 실행하는 방법은 무엇입니까?

Python에서 경로에 공백이 있는 프로그램을 실행하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 15:08:03464검색

How to Execute a Program with Spaces in the Path from Python?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.