如何從 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中文網其他相關文章!