无法从子进程模块打开 sublime?

Unable to open sublime from subprocess module?

我正在 运行我的 Mac 上安装以下脚本:

import subprocess

cmd = "sublime driver.py"
p = subprocess.Popen(cmd, shell=True)
p.wait()

我在包含文件 driver.py 的目录中。所以,如果我在我的终端上执行 sublime driver.py 它会工作得很好。但是,当我 运行 这个程序时出现这个错误: /bin/sh: sublime: command not found.

这是为什么?我假设是因为命令“sublime”是 .bash_profile 中的别名,定义为

alias sublime="open -a /Applications/SublimeText.app"

如何通过 python 3 中的子进程模块 运行 别名?

是的,你是对的,

尝试以下操作:-

import subprocess

cmd = "open -a /Applications/SublimeText.app driver.py"
p = subprocess.Popen(cmd, shell=True)
p.wait()

如果您仍想 运行 使用别名的命令,请检查此 answer