首頁 >後端開發 >Python教學 >如何從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.將 Shell=True 與 os.system()

設定 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