如何将Python的退出代码翻译成等效的字符串?
例如,
>>> import os
>>> os.EX_OSERR
71
我想取整数71并得出名称' EX_OSERR'。
我不想为每个值创建任何类型的查找。如果可能的话,我正在寻找使用Python内置函数或标准模块中的方法的解决方案。
我对python 2.X的解决方案感兴趣。
答案 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')}