Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะรับชื่อสัญญาณจากตัวเลขใน Python ได้อย่างไร


ไม่มีทางตรงไปตรงมาในการรับชื่อสัญญาณจากตัวเลขในหลาม คุณสามารถใช้โมดูลสัญญาณเพื่อรับคุณลักษณะทั้งหมดได้ จากนั้นใช้คำสั่งนี้เพื่อกรองตัวแปรที่ขึ้นต้นด้วย SIG และสุดท้ายจัดเก็บไว้ในลูกเต๋า ตัวอย่างเช่น

ตัวอย่าง

import signal
sig_items = reversed(sorted(signal.__dict__.items()))
final = dict((k, v) for v, k in sig_items if v.startswith('SIG') and not v.startswith('SIG_'))
print(final)

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์:

{<Signals.SIGTERM: 15>: 'SIGTERM', <Signals.SIGSEGV: 11>: 'SIGSEGV',
<Signals.SIGINT: 2>: 'SIGINT', <Signals.SIGILL: 4>: 'SIGILL',
<Signals.SIGFPE: 8>: 'SIGFPE', <Signals.SIGBREAK: 21>: 'SIGBREAK',
<Signals.SIGABRT: 22>: 'SIGABRT'}