【发布时间】:2018-02-05 17:35:51
【问题描述】:
我有一个 python 代码,它使用os.system() 调用 gpg 命令来解密一些文件,作为更大文件管理管道的一部分。但是,在我的 MacOS 10.11.6 上,我有一个用于解密文件的 gpg2 版本。
所以我想在脚本中添加一些检查机器上是否存在 gpg 或 gpg2 的内容。
我尝试测试对 gpg 的调用并通过以下方式捕获可能的 OSError:
try:
os.system("gpg --version")
except OSError:
print("gpg not found")
但即使 gpg 不存在并且os.system() 调用的输出为:
sh: gpg: command not found
32512
知道我该怎么做吗?
(PS:我不知道32512是什么......)
【问题讨论】:
-
32512十六进制为0x7F00。7F是127,这是“找不到命令”的退出代码。我不知道为什么它会以这种方式呈现。 -
@PatrickHaugh 哇
-
其实,我已经做了更多的调查,在the documentation 中有解释。退出状态指示为:“一个16位的数字,其低字节为杀死进程的信号号,其高字节为退出状态(如果信号号为零);低字节的高位为设置是否生成核心文件。"
标签: python