Python 2.x获取signalnum(代码)的unix信号名称?

时间:2014-06-23 14:55:48

标签: python unix signals idioms idiomatic

是否有更多的pythonic方法从信号代码中获取信号名称?我目前的做法:

import signal
dict((getattr(signal,na),na) for na in dir(signal) if na[:3]=='SIG')

我查看了这些地图的2.7 signal文档但没有成功。如果它有一个我没有找到。有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

你可以使用dict理解,我认为看起来更好一点:

{getattr(signal, n) : n for n in dir(signal) if n.startswith('SIG')}

另外,你原来的理解过于复杂。当您不需要时,您已添加了额外的for n in。你可以像这样写:

dict((getattr(signal,n),n) for n in dir(signal) if n[:3] == 'SIG')