如何知道和防止来自 python 的终端命令错误?

问题描述

制作一个可以在听命令时打开应用程序的程序。应用程序名称存储在变量“a”中。然后用以下行打开:

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

但有时系统上可能不存在“a”,例如控制台打印的“音乐”:

The file /Applications/music.app does not exist.

python 代码完全停止。

我怎么知道控制台给出了这个错误并阻止程序停止?

解决方法

subprocessos.system更强大,子进程的stdout和stderr可以用subprocess忽略

import subprocess
res=subprocess.run(["open","/Applications/" + a + ".app"])
print(res.returncode)

使用res.returncode获取执行结果(非零值表示子进程遇到错误)。

,

也许您可以尝试使用 try/except 命令来处理 Python 中的错误:https://docs.python.org/3/tutorial/errors.html