使用 Python 處理路徑中包含空格的程式執行
在 Python 中,os.system 通常用於執行外部程式。但是,當程式的路徑中存在空格時,它可能會失敗。
請考慮以下程式碼片段:
<code class="python">import os os.system("C:\Temp\a b c\Notepad.exe");</code>
此程式碼嘗試使用包含空格的路徑執行記事本。但是,它失敗並顯示錯誤:
'C:\Temp\a' is not recognized as an internal or external command, operable program or batch file.
要解決此問題,請使用引號轉義程式:
<code class="python">os.system('"C:\Temp\a b c\Notepad.exe"');</code>
但是,在將參數傳遞給程式時,此方法會失敗,因為如以下範例所示:
<code class="python">os.system('"C:\Temp\a b c\Notepad.exe" "C:\test.txt"');</code>
要解決此問題,請利用subprocess.call:
<code class="python">import subprocess subprocess.call(['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'])</code>
subprocess.call 接受參數列表,從而無需複雜的參數列表,從而無需複雜的引用。這有效解決了執行路徑中有空格的程式的問題。
以上是如何使用Python執行路徑中有空格的程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!