Python के time मॉड्यूल की व्यापक गाइड | निष्पादन समय मापना और लॉग में टाइमस्टैम्प जोड़ना

1. पायथन का time मॉड्यूल क्या है?

1.1 time मॉड्यूल का अवलोकन

पायथन का time मॉड्यूल एक स्टैंडर्ड लाइब्रेरी है जो प्रोग्राम के अंदर समय और तिथि-संबंधी ऑपरेशनों को संभालने के लिए फंक्शन्स प्रदान करता है।
यह मॉड्यूल सिस्टम क्लॉक के आधार पर एपोक (1 जनवरी 1970, 00:00:00 UTC) के बाद से बीते सेकंड्स की संख्या प्राप्त करता है। यह लॉग फाइलों में टाइमस्टैम्प जोड़ने और प्रोग्राम के प्रदर्शन को मापने के लिए सामान्य रूप से उपयोग किया जाता है।

time मॉड्यूल का एक प्रमुख लाभ इसकी सरलता है। यह जटिल सेटअप की आवश्यकता नहीं रखता, जो इसे बुनियादी समय प्रबंधन और मापन कार्यों के लिए आदर्श बनाता है।

1.2 प्रमुख विशेषताएं

time मॉड्यूल विभिन्न समय-संबंधी फंक्शन्स प्रदान करता है। सबसे अधिक उपयोग किए जाने वाले कुछ में शामिल हैं:

  • time.time() : एपोक के बाद से बीते सेकंड्स की संख्या को फ्लोटिंग-पॉइंट वैल्यू के रूप में लौटाता है।
  • time.sleep(secs) : निर्दिष्ट सेकंड्स की संख्या के लिए प्रोग्राम निष्पादन को रोकता है। प्रक्रिया को अस्थायी रूप से रोकने के लिए उपयोगी।
  • time.ctime() : एक टाइमस्टैम्प को मानव-पठनीय फॉर्मेट में परिवर्तित करता है।

इन फंक्शन्स का उपयोग करके, आप सरल समय प्राप्ति से लेकर उन्नत प्रदर्शन मापन तक विभिन्न समय-संबंधी ऑपरेशनों को कर सकते हैं।

Ad

2. वर्तमान समय कैसे प्राप्त करें

2.1 वर्तमान समय प्राप्त करने के लिए time.time() का उपयोग

time.time() फंक्शन एपोक के बाद से बीते सेकंड्स की संख्या लौटाता है। यह वर्तमान समय प्राप्त करने का सबसे सरल तरीका है। नीचे दिए गए उदाहरण को देखें:

import time
current_time = time.time()
print(current_time)

यह कोड वर्तमान एपोक समय को प्रिंट करता है (सेकंड्स की संख्या का प्रतिनिधित्व करने वाला एक फ्लोटिंग-पॉइंट नंबर)। जबकि एपोक समय आंतरिक गणनाओं के लिए उपयोगी है, यह मनुष्यों के लिए सहज नहीं है। अगले अनुभाग में, हम देखेंगे कि इसे strftime() का उपयोग करके कैसे फॉर्मेट करें।

2.2 strftime() के साथ समय को मानव-पठनीय फॉर्मेट में परिवर्तित करना

time.strftime() फंक्शन एपोक समय को अधिक पठनीय तिथि और समय प्रतिनिधित्व में फॉर्मेट करने के लिए उपयोग किया जाता है। यह लॉग फाइलों या उपयोगकर्ता इंटरफेस पर टाइमस्टैम्प प्रदर्शित करने के लिए विशेष रूप से उपयोगी है।
निम्नलिखित उदाहरण वर्तमान समय को “वर्ष-माह-दिन घंटा:मिनट:सेकंड” फॉर्मेट में प्रिंट करता है:

import time
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(formatted_time)

इस उदाहरण में, time.localtime() वर्तमान टाइमस्टैम्प को स्थानीय समय में परिवर्तित करता है, और strftime() इसे फॉर्मेट करता है।
%Y: चार-अंकीय वर्ष
%m: माह
%d: दिन
इस विधि का उपयोग करके, आप समय डेटा को उपयोगकर्ता-अनुकूल फॉर्मेट में आसानी से प्रस्तुत कर सकते हैं।

Ad

3. निष्पादन समय मापना

3.1 time.time() के साथ बुनियादी निष्पादन समय मापन

निष्पादन समय मापने का सबसे सरल तरीकों में से एक time.time() का उपयोग करना है। यह विधि एक प्रक्रिया के प्रारंभ और अंत समय को कैप्चर करती है और अवधि की गणना करती है।

import time
start_time = time.time()

# Example: Loop process
for i in range(1000000):
    pass

end_time = time.time()
print(f"Execution time: {end_time - start_time} seconds")

इस उदाहरण में, हम एक लूप के निष्पादन के लिए लिए गए समय को मापते हैं। चूंकि time.time() सेकंड्स में समय मापता है, यह अत्यधिक सटीक नहीं हो सकता लेकिन सरल प्रदर्शन मापन के लिए पर्याप्त है।

3.2 perf_counter() के साथ उच्च-सटीकता मापन

अधिक सटीक मापन के लिए, perf_counter() का उपयोग करें। यह फंक्शन सिस्टम के प्रदर्शन काउंटर का उपयोग करता है, जो उच्च सटीकता प्रदान करता है।

import time
start_time = time.perf_counter()

# High-precision measurement
for i in range(1000000):
    pass

end_time = time.perf_counter()
print(f"High-precision execution time: {end_time - start_time} seconds")

perf_counter() नैनोसेकंड-स्तरीय सटीकता प्रदान करता है, जो इसे समय-संवेदनशील अनुप्रयोगों और प्रदर्शन अनुकूलन के लिए आदर्श बनाता है।

3.3 timeit मॉड्यूल के साथ बेंचमार्किंग

यदि आपको प्रदर्शन बेंचमार्क करने की आवश्यकता है, तो timeit मॉड्यूल अत्यधिक उपयोगी है। यह एक विशिष्ट ऑपरेशन को बार-बार चलाता है और औसत निष्पादन समय की गणना करता है।

import timeit
print(timeit.timeit('"-".join(str(n) for n in range(100))', number=10000))

यह कोड 10,000 इटरेशन पर सूची के तत्वों को स्ट्रिंग के रूप में जोड़ने के निष्पादन समय को मापता है।
timeit बाहरी शोर को न्यूनतम करता है, जिससे अधिक सटीक प्रदर्शन तुलना संभव होती है।

Ad

4. तिथि प्रबंधन: datetime मॉड्यूल के साथ तुलना

4.1 datetime.now() के साथ वर्तमान समय प्राप्त करना

time मॉड्यूल के साथ, Python का datetime मॉड्यूल भी अत्यंत उपयोगी है, विशेष रूप से तिथि गणनाओं के साथ काम करने के लिए।

from datetime import datetime
now = datetime.now()
print(now)

यह कोड वर्तमान तिथि और समय को datetime ऑब्जेक्ट के रूप में प्राप्त करता है।
चूँकि datetime मॉड्यूल समय गणनाओं और टाइमज़ोन प्रबंधन को सरल बनाता है, यह अधिक जटिल तिथि-संबंधी कार्यों के लिए पसंद किया जाता है।

4.2 time और datetime मॉड्यूल के बीच चयन

जबकि time मॉड्यूल सरल है और उच्च-परिशुद्धता समय मापन के लिए उत्कृष्ट है, datetime मॉड्यूल तिथि-संबंधी संचालन को संभालने के लिए अधिक उपयुक्त है।
उदाहरण के लिए, यदि आपका एप्लिकेशन विशिष्ट तिथियों के साथ काम करने या तिथि-आधारित गणन करने में शामिल है, तो datetime मॉड्यूल अधिक उपयुक्त विकल्प है।

Ad
侍エンジニア塾

5. व्यावहारिक उदाहरण: time मॉड्यूल का उपयोग

5.1 लॉग में टाइमस्टैम्प जोड़ना

टाइमस्टैम्प अक्सर लॉग फ़ाइलों में घटनाओं को ट्रैक करने के लिए जोड़े जाते हैं। time.ctime() फ़ंक्शन वर्तमान टाइमस्टैम्प को आसानी से प्राप्त करके लॉग में रिकॉर्ड करने में मदद करता है।

import time
log_entry = f"{time.ctime()} - Error message"
print(log_entry)

यह उदाहरण time.ctime() का उपयोग करके लॉग इवेंट्स के लिए मानव-पठनीय टाइमस्टैम्प उत्पन्न करता है।

5.2 प्रोग्राम प्रदर्शन का अनुकूलन

समय मापन प्रदर्शन अनुकूलन के लिए उपयोगी है। time मॉड्यूल या timeit मॉड्यूल के साथ निष्पादन समय को मापकर, आप बॉटलनेक की पहचान कर सकते हैं और कोड निष्पादन गति को अनुकूलित कर सकते हैं।
उदाहरण के लिए, यदि दो अलग-अलग फ़ंक्शन समान परिणाम देते हैं, तो उनके निष्पादन समय को मापने से आप अधिक कुशल दृष्टिकोण चुन सकते हैं।

Ad

6. निष्कर्ष

Python का time मॉड्यूल समय-संबंधी कार्यों को प्रबंधित करने का एक सरल और प्रभावी तरीका प्रदान करता है। बुनियादी कार्यों जैसे निष्पादन समय मापना और लॉग में टाइमस्टैम्प जोड़ने से लेकर perf_counter() और timeit मॉड्यूल का उपयोग करके उन्नत तकनीकों तक, यह कई कार्यात्मकताएँ प्रदान करता है।

प्रदर्शन अनुकूलन और समय-सवेदनशील कार्यों के लिए, time मॉड्यूल एक शक्तिशाली और हल्का उपकरण है। इसके अलावा, जटिल तिथि संचालन के साथ काम करते समय, इसे datetime मॉड्यूल के साथ मिलाकर उपयोग करने से बेहतर टाइमज़ोन प्रबंधन और विस्तृत तिथि गणनाएँ संभव होती हैं। प्रत्येक मॉड्यूल की ताकतों को समझकर और उन्हें उचित रूप से उपयोग करके आप अपने Python प्रोग्राम की दक्षता और व्यावहारिकता को बढ़ा सकते हैं।

Ad