【发布时间】:2019-12-08 16:39:00
【问题描述】:
我在尝试使用 subprocess 命令从我的 Mac 启动应用程序时遇到此错误。
我试过了,它仍然可以正常工作
import subprocess
appname = "Microsoft Word"
appname1 = appname + ".app"
subprocess.Popen(["open", "-n", "/Applications/" + appname1], stdout=subprocess.PIPE)
但是,当我将它应用到我的函数时。它说文件不存在。
import re
import subprocess
def myCommand(command):
elif 'launch' in command:
reg_ex = re.search('launch(.*)', command)
if reg_ex:
appname = reg_ex.group(1)
appname1 = appname + ".app"
subprocess.Popen(["open", "-n", "/Applications/" + appname1], stdout=subprocess.PIPE)
它返回如下:
Command: Launch Microsoft Word
The file /Applications/ microsoft word.app does not exist.
【问题讨论】:
-
/Applications/ 和“Microsoft word”之间的空格是错字还是错误消息中实际存在?如果它确实存在,那可能是你的问题......也许尝试一个正则表达式,消除启动词和表达式的其余部分之间的 no y 空格?例如。
re.search('launch\s*(.*)' -
@GMc:哦,它奏效了。谢啦。我真的很傻,没有意识到问题出在两者之间。
标签: python-3.x macos subprocess