无法创建正确的路径以用于os.system

时间:2018-12-12 14:46:43

标签: python string python-3.x concatenation os.system

我知道类似的问题一直存在,但是我已经阅读了所有可以找到的内容。 那里的解决方案对我有所帮助,但是我仍然无法构建包含空格的正确完整路径。

研究后,我发现解决方案添加了\,并在单引号中加上了所有内容。因此,此路径是可以接受的,如下所示。

import os
os.system('\"C:\Program Files (x86)\remar\remar.exe"')

但是,问题在于我必须向其添加控制台命令,因此路径必须如下所示:

  

C:\ Program Files(x86)\ remar \ remar.exe --break-in = null

我试图连接路径的多个部分,但是对于os.system()表达式而言,结果是不可接受的。

我不能做这样的事情-"'\" + '"C:\Program Files' + ' ' + "(x86)\remar\remar.exe"'" + ' ' + '--break-in=null'

我应该怎么做才能将所有零件集中到一条正确的路径上?

PS-我尝试了Windows path in Python的解决方案,但是对我来说不起作用。也许是因为python版本。我正在使用3.61 BTW。

1 个答案:

答案 0 :(得分:0)

在此处尝试使用os.path.join。不要用反斜杠结束您的路径变量,join会帮您做到这一点。

import os, subprocess
path = r"C:\Program Files (x86)\test"
filename = "test.exe"

result = os.path.join(path, filename)
print(result)
subprocess.run(result)

您可能还会对pathlib Path感兴趣