操作系统路径中有空格

2024-05-14 18:52:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用os.system来调用C:/Program Files中的程序。你知道吗

那个目录名中的空格把每次尝试都弄糟了。这是我的密码:

cmd = 'C:Program Files\OpenSCAD\openscad.exe -o block0.stl block0.scad'
print cmd
os.system(cmd)

太空会毁掉一切。我试过这里列出的五个标点符号版本(包括其他文章中推荐的一些版本),包括源标点符号、Python看到的结果字符串以及os.system的结果。你知道吗

你怎么给它加标点符号才能正确?你知道吗

cmd = 'C:Program Files\OpenSCAD\openscad.exe -o block0.stl block0.scad'

C:Program Files\OpenSCAD\openscad.exe -o block0.stl block0.scad
'C:Program' is not recognized as an internal or external command,
operable program or batch file.

cmd = 'C:"Program Files"\OpenSCAD\openscad.exe -o block0.stl block0.scad'

C:"Program Files"\OpenSCAD\openscad.exe -o block0.stl block0.scad
The system cannot find the path specified.

cmd = 'C:"Program Files\OpenSCAD\openscad.exe" -o block0.stl block0.scad'

C:"Program Files\OpenSCAD\openscad.exe" -o block0.stl block0.scad
The system cannot find the path specified.

cmd = 'C:\"Program Files\OpenSCAD\openscad.exe\" -o block0.stl block0.scad'

同样的事情


cmd = 'C:""Program Files\OpenSCAD\openscad.exe"" -o block0.stl block0.scad'

C:""Program Files\OpenSCAD\openscad.exe"" -o block0.stl block0.scad
'C:""Program' is not recognized as an internal or external command,
operable program or batch file.

cmd = r'C:Program Files\OpenSCAD\openscad.exe -o block0.stl block0.scad'

(推荐here

C:Program Files\OpenSCAD\openscad.exe -o block0.stl block0.scad
'C:Program' is not recognized as an internal or external command,
operable program or batch file.

Tags: orcmdisosnotfilesprogramexe
1条回答
网友
1楼 · 发布于 2024-05-14 18:52:04

你差点吃了好几次。问题是您要么需要放置双反斜杠,因为反斜杠是Python字符串中的转义字符,要么使用带有r前缀的原始字符串。但是,在这两种情况下,C:后面必须有反斜杠,名称中包含空格的部分必须用引号括起来。以下任何一个例子都应该起作用:

cmd = 'C:\\"Program Files\\OpenSCAD\\openscad.exe" -o block0.stl block0.scad'
cmd = r'C:\"Program Files\OpenSCAD\openscad.exe" -o block0.stl block0.scad'
cmd = "\"C:\\Program Files\\OpenSCAD\\openscad.exe\" -o block0.stl block0.scad"
cmd = r'"C:\Program Files\OpenSCAD\openscad.exe" -o block0.stl block0.scad'

请注意,您将无法使用双引号和原始Python字符串,因为您将无法转义字符串中的双引号和路径。你知道吗

相关问题 更多 >

    热门问题