Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法创建正确的路径将其用于操作系统_Python_String_Python 3.x_Concatenation_Os.system - Fatal编程技术网

Python 无法创建正确的路径将其用于操作系统

Python 无法创建正确的路径将其用于操作系统,python,string,python-3.x,concatenation,os.system,Python,String,Python 3.x,Concatenation,Os.system,我知道类似的问题一直在发生,但我已经阅读了所有我能找到的。 那个里的解决方案帮了我一点忙,但我仍然无法构建包含空格的正确完整路径 经过研究,我找到了添加\的解决方案,并在单引号中引用了所有内容。因此,这条路径是可以接受的,如下所示 import os os.system('\"C:\Program Files (x86)\remar\remar.exe"') 但是,问题是我必须向其添加控制台命令,因此路径必须如下所示: C:\ProgramFiles(x86)\remar\remar.exe-

我知道类似的问题一直在发生,但我已经阅读了所有我能找到的。 那个里的解决方案帮了我一点忙,但我仍然无法构建包含空格的正确完整路径

经过研究,我找到了添加\的解决方案,并在单引号中引用了所有内容。因此,这条路径是可以接受的,如下所示

import os
os.system('\"C:\Program Files (x86)\remar\remar.exe"')
但是,问题是我必须向其添加控制台命令,因此路径必须如下所示:

C:\ProgramFiles(x86)\remar\remar.exe--中断=null

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

我不能制作这样的东西-
“\”+”C:\ProgramFiles“++”+”(x86)\remar\remar.exe“++”--break-in=null'

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


PS-我尝试了来自的解决方案,但它对我不起作用。可能是因为python版本。我使用的是3.61 BTW。

请尝试使用os.path.join。不要以反斜杠结束path变量,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路径感兴趣,请尝试以下操作:
command=“--break in=null”
,然后是
os.system('\'C:\Program Files(x86)\remar\remar.exe“%s”%command)
。此外,双引号字符串周围的伪单引号是错误的和多余的。此外,可能更喜欢
subprocess.run()
而不是
os.system()
@tripleee我之前尝试过这个解决方案,但没有成功。我将尝试
subprocess.run()
而不是
os.system()
。也许会有帮助。