使用Python打开应用程序,当应用程序名称中有空格时不起作用

时间:2016-07-12 13:49:35

标签: macos python-3.x os.system

我正在尝试使用python打开应用程序。目前,这就是我所拥有的:

os.system("open " + "/Applications/" + app + ".app")

('app'是一个带有appname的字符串,在整个脚本中都有变化)

现在,我的问题是,当我尝试用一​​个单词代表他们的名字打开应用程序时,这可以完美运行。像“Blender”或“Brackets”。但是,如果我尝试打开像photoshop这样的应用程序(在应用程序文件夹中命名为“Adobe Photoshop CS6”),则没有任何反应。我现在已经尝试了几个小时,经历了很多问题,其中许多人都在谈论在字符串之前添加'r'。我在我的字符串的每个部分之前尝试过这个,并且还尝试将它们封装在引号之间,但没有任何帮助。

为什么这是一个问题?

1 个答案:

答案 0 :(得分:1)

.app位附近添加引号:

os.system("open " + "'/Applications/" + app + ".app'")
                     ^                             ^

所以它扩展为:

open '/Application/Hello World.app'

你应该使用subprocess.call(),它接受​​数组元素中的参数,并且不会遇到这个问题。