मेरे पास एक ऐसा फ़ंक्शन है जो कभी-कभी लटकता है। आम तौर पर मैं अलार्म सेट करता हूं, लेकिन मैं विंडोज़ में हूं और यह अनुपलब्ध है। क्या इसके चारों ओर एक आसान तरीका है, या मुझे सिर्फ एक धागा बनाना चाहिए जो time.sleep() को कॉल करता है?विंडोज़ में सिग्नल.अल्म प्रतिस्थापन [पायथन]
एक थ्रेड के साथ जा रहा है। केवल चाल os._exit
के बजाय sys.exit
import os
import time
import threading
class Alarm (threading.Thread):
def __init__ (self, timeout):
threading.Thread.__init__ (self)
self.timeout = timeout
self.setDaemon (True)
def run (self):
time.sleep (self.timeout)
os._exit (1)
alarm = Alarm (4)
alarm.start()
time.sleep (2)
del alarm
print 'yup'
alarm = Alarm (4)
alarm.start()
time.sleep (8)
del alarm
print 'nope' # we don't make it this far
के बजाय
os._exit
उपयोग कर रहा था क्या आप कृपया * अपने * सवाल से जवाब को निकालें और एक ... वास्तविक * जवाब * के रूप में पोस्ट कर सकते हैं? – ThiefMasterआप [थ्रेडिंग टिमर() 'के बजाय उपयोग कर सकते हैं [http://stackoverflow.com/a/28081214/4279) – jfs
@ थिफमास्टर किया गया! – LondonRob