如何将Python的OS退出代码转换为其字符串值

时间:2017-08-09 03:35:12

标签: python python-2.7

如何将Python的退出代码翻译成等效的字符串?

例如,

>>> import os
>>> os.EX_OSERR
71

我想取整数71并得出名称' EX_OSERR'。

我不想为每个值创建任何类型的查找。如果可能的话,我正在寻找使用Python内置函数或标准模块中的方法的解决方案。

我对python 2.X的解决方案感兴趣。

2 个答案:

答案 0 :(得分:1)

我提出的唯一解决方案是创建一个查找字典:

import os
osexit_dict = {}
for exit_name  in [x for x in dir(os) if x.startswith('EX')]:
   exit_num = getattr(os, exit_name)
   osexit_dict[exit_num] = exit_name

虽然这并不能完全满足这个问题,因为它创建了一个查找(尽管很容易做到)。

也许其他人可以想出一种方法来使用Python的内置插件。

答案 1 :(得分:1)

我不喜欢这样,但这会奏效。

d = {attrgetter(value)(os) : value for value in dir(os) if value.startswith('EX')}