क्या वैसे भी मैं अपनी स्क्रिप्ट को अपने कार्यों में से एक निष्पादित कर सकता हूं जब Ctrl+c
स्क्रिप्ट चलने पर हिट हो जाती है?मैं कीबोर्ड इंटरप्ट को ओवरराइड कैसे कर सकता हूं? (पायथन)
उत्तर
signal handlers पर एक नज़र डालें। CTRL-C SIGINT (पॉज़िक्स सिस्टम पर सिग्नल # 2) से मेल खाता है।
उदाहरण:
#!/usr/bin/env python
import signal
import sys
def signal_handler(signal, frame):
print 'You pressed Ctrl+C - or killed me with -2'
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print 'Press Ctrl+C'
signal.pause()
नोट: जब आप ओएस – wim
@wim में 'kill -2 [pid]' पर जाते हैं, तो इस सिग्नल हैंडलर को भी हिट करना चाहिए, अच्छा बिंदु, धन्यवाद, मेरे उत्तर में एक संकेत जोड़ा - वास्तव में एक हत्या को अलग करने का एक तरीका है मारने से मारने से कीबोर्ड द्वारा? – miku
मैंने देखा है कि पूर्व पाइथन में 'कीबोर्डइंटरप्ट' अपवाद उठाएगा, बाद वाला नहीं होगा। लेकिन मुझे यह क्यों नहीं है कि कार्यान्वयन के विवरण पर यह सुनिश्चित नहीं है। – wim
उपयोग KeyboardInterrupt exception और फोन except
ब्लॉक में अपने कार्य करते हैं।
निश्चित रूप से।
try:
# Your normal block of code
except KeyboardInterrupt:
# Your code which is executed when CTRL+C is pressed.
finally:
# Your code which is always executed.
- 1. मैं अजगर में कीबोर्ड इंटरप्ट को क्यों नहीं संभाल सकता?
- 2. ^सी/कीबोर्ड इंटरप्ट
- 3. मैं सी ++ में पाइथन के कीबोर्ड इंटरप्ट को कैसे पास/पकड़/प्रतिक्रिया दे सकता हूं?
- 4. मैं आईओएस कीबोर्ड को कैसे खारिज कर सकता हूं?
- 5. मैं एक संपत्ति सेटर को कैसे ओवरराइड कर सकता हूं?
- 6. मैं एक Magento नियंत्रक को ओवरराइड कैसे कर सकता हूं?
- 7. मैं TryParse को ओवरराइड कैसे कर सकता हूं?
- 8. मैं रेलवे नामकरण रेलवे को कैसे ओवरराइड कर सकता हूं?
- 9. आयातित पायथन मॉड्यूल में निरंतर ओवरराइड कैसे कर सकता हूं?
- 10. पायथन में, क्या मैं किसी फ़ंक्शन को कीबोर्ड इंटरप्ट और सिस्टम एक्सीट को पकड़ने से रोक सकता हूं?
- 11. कीबोर्ड इंटरप्ट को ट्रिगर या अनुकरण कैसे करें?
- 12. मैं एकाधिक ओवरराइड सक्षम करने, पर्ल फ़ंक्शंस को ओवरराइड कैसे कर सकता हूं?
- 13. पायथन में, मैं कैसे इंगित करूं कि मैं एक विधि को ओवरराइड कर रहा हूं?
- 14. पायथन में कीबोर्ड इंटरप्ट द्वारा कोड के ब्लॉक को बाधित होने से कैसे रोकें?
- 15. मैं विजुअल स्टूडियो के मेनू त्वरक शॉर्टकट्स को ओवरराइड कैसे कर सकता हूं?
- 16. मैं पाइथन के साथ कीबोर्ड और माउस को कैसे नियंत्रित कर सकता हूं?
- 17. यदि मैं पहले से मौजूद हूं तो Django-Tastypie संसाधन को ओवरराइड कैसे कर सकता हूं?
- 18. मैं एक अलग जार का उपयोग कर कक्षा को ओवरराइड कैसे कर सकता हूं?
- 19. पायथन: मैं जनरेटर को कब अनपैक कर सकता हूं?
- 20. विंडोज़ पर, मैं निम्नतम स्तर के वैश्विक कीबोर्ड हुक को कैसे स्थापित कर सकता हूं?
- 21. मैं वीबीए से पायथन प्रोग्राम कैसे कॉल कर सकता हूं?
- 22. पायथन: मैं सभी चर कैसे आयात कर सकता हूं?
- 23. पायथन, मैं gif फ्रेम कैसे प्राप्त कर सकता हूं
- 24. मैं पायथन में यादृच्छिक संख्या कैसे उत्पन्न कर सकता हूं?
- 25. मैं पायथन में समीकरण कैसे हल कर सकता हूं?
- 26. मैं पायथन में सिस्टम जानकारी कैसे वापस कर सकता हूं?
- 27. मैं पायथन से एरलांग कैसे कॉल कर सकता हूं?
- 28. ब्राउज़र के कीबोर्ड शॉर्टकट्स को ओवरराइड करना
- 29. पायथन में नई शैली कक्षाओं पर मैं __setattr__ और __getattribute__ को ठीक से कैसे ओवरराइड कर सकता हूं?
- 30. मैं नामस्थान को "अप्रयुक्त" कैसे कर सकता हूं?
कई विकल्प के लिए http://stackoverflow.com/questions/4205317/capture-keyboardinterrupt-in-python-without-try-except देखें। – DSM