신호 코드에서 신호 이름을 가져 오는 더 평범한 방법이 있습니까? 나의 현재의 접근 방식은 : Python 2.x는 signalnum (코드)의 유닉스 신호 이름을 얻습니까?
import signal
dict((getattr(signal,na),na) for na in dir(signal) if na[:3]=='SIG')
나는 이러한지도의 성공없이 2.7
signal 문서를 보였다. 그것이 있으면 그것은 나를 피했다. 더 나은 접근 방법이 있습니까?
{getattr(signal, n) : n for n in dir(signal) if n.startswith('SIG')}
는 또한 원래의 이해가 복잡 오버입니다 :
파이썬이 이러한 int -> name 매핑을 제공한다고 생각하지 않습니다. 개인적으로 나는 목록의 이해력을 사용하지 않을 것이다. 왜냐하면 나는 그 코드를 읽기가 너무 어렵 기 때문이다. 'n [: 3]'은'n.startswith ('SIG')'로 쓰여질 수 있고 두 번째 부분에서 일반적으로'n'을 사용하는 것은 숫자가 아니기 때문에 오해의 소지가 있습니다. –
@FelixSchwarz hm, * n * ame에서'n'을 사용했습니다. 'na'로 편집 – n611x007