के रूप में विख्यात का उपयोग कर बेहतर कर रहे हैं, यह एक बुरा हैक का एक छोटा सा है , क्योंकि इसमें प्रत्येक पुनरावृत्ति के समय की जांच करना शामिल है। इसे काम करने के लिए, आपको ऐसे कार्य करने की आवश्यकता है जो टाइमआउट के एक छोटे प्रतिशत के लिए चलें - यदि आपका लूप केवल हर मिनट फिर से चलाता है, तो यह हर दस सेकंड में प्रिंट नहीं करेगा। यदि आप बाधित होना चाहते हैं, तो आप मल्टीथ्रेडिंग पर विचार कर सकते हैं, या अधिमानतः यदि आप लिनक्स/मैक/यूनिक्स, सिग्नल पर हैं। आपका मंच क्या है?
import time
timeout = 10
first_time = time.time()
last_time = first_time
while(True):
pass #do something here
new_time = time.time()
if new_time - last_time > timeout:
last_time = new_time
print "Its been %f seconds" % (new_time - first_time)
आउटपुट:
Its been 10.016000 seconds
Its been 20.031000 seconds
Its been 30.047000 seconds
+1 मेरे उत्तर से बहुत अच्छा है, प्यार है कि पाइथन में ऐसी बैटरी शामिल हैं। – fmark