小编典典

os.system调用一个exe,该exe位于名称包含空格的dir中

python

我的代码如下:

file = 'C:\\Exe\\First Version\\filename.exe'
os.system(file)

当我运行该程序时,出现Windows错误: can't find the file specified.

我发现问题出在“第一版”中间的空格上。我如何找到解决该问题的方法?

PS:如果将变量“文件”作为参数传递给另一个函数怎么办?


阅读 225

收藏
2020-12-20

共1个答案

小编典典

将引号放在路径上将起作用:

file = 'C:\\Exe\\First Version\\filename.exe'
os.system('"' + file + '"')

但是更好的解决方案是改为使用subprocess模块:

import subprocess
file = 'C:\\Exe\\First Version\\filename.exe'
subprocess.call([file])
2020-12-20