使用 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中文网其他相关文章!