निराकरण: त्याच ठिकाणी कन्सोल आउटपुट लिहा

त्याच ठिकाणी कन्सोल आउटपुट लिहिणे विकसकांसाठी पायथन ऍप्लिकेशन्ससह काम करताना एक उपयुक्त तंत्र असू शकते, विशेषत: जेव्हा कमांड लाइनमध्ये वापरकर्ता इंटरफेस विकसित करणे, प्रगती निर्देशक तयार करणे आणि रिअल-टाइममध्ये कन्सोल डेटा अद्यतनित करणे. हा लेख कन्सोल आउटपुट ओव्हरराइट करण्याच्या उपायावर चर्चा करेल, कोड चरण-दर-चरण स्पष्ट करेल आणि विशिष्ट लायब्ररी आणि अंगभूत पायथन फंक्शन्समध्ये जा जे हे कार्य शक्य करतात.

हे साध्य करण्यासाठी, आम्ही प्रसिद्ध पायथन लायब्ररी "शाप" वापरू शकतो जी विशेषतः टर्मिनल-आधारित अनुप्रयोग तयार करण्यासाठी डिझाइन केलेली आहे जी मजकूर-आधारित वापरकर्ता इंटरफेसच्या वापरावर अवलंबून असते. तथापि, साधेपणा आणि समजण्यास सुलभतेच्या उद्देशाने, आम्ही कन्सोल आउटपुट ओव्हरराइट करण्यासाठी पायथनच्या अंगभूत “sys” आणि “time” मॉड्यूल्सचा वापर करू.

पायथनमध्ये कन्सोल आउटपुट ओव्हरराइट करणे

वापरणे ही मुख्य कल्पना आहे sys.stdout.write() फंक्शन, जे आम्हाला एकाच ओळीत मुद्रित करण्यास अनुमती देते कॅरेज रिटर्न वर्ण (“r”) ओळीच्या सुरूवातीस परत येण्यासाठी, प्रभावीपणे आम्हाला आउटपुट अधिलिखित करण्यास अनुमती देते.

पायथन वापरून कन्सोल आउटपुट ओव्हरराइट करण्याचे एक उदाहरण येथे आहे:

import time
import sys

for i in range(10):
    sys.stdout.write("rStep: %d" % i)
    sys.stdout.flush()
    time.sleep(1)

संहितेचे चरण-दर-चरण स्पष्टीकरण

1. प्रथम, आवश्यक मॉड्यूल आयात करा:

   import time
   import sys
   

The वेळ पुनरावृत्ती, आणि मध्ये विलंब जोडण्यासाठी मॉड्यूलचा वापर केला जाईल sys कंसोलवर आउटपुट लिहिण्यासाठी मॉड्यूलचा वापर केला जाईल.

2. पुढे, प्रगती काउंटरचे अनुकरण करून, संख्यांच्या श्रेणीवर पुनरावृत्ती करण्यासाठी लूप तयार करा:

   for i in range(10):
   

हे लूप 0 ते 9 पर्यंत पुनरावृत्ती होते, प्रभावीपणे दहा वेळा चालते.

3. लूपच्या आत, वापरा sys.stdout.write() लेबलसह वर्तमान पुनरावृत्ती क्रमांक मुद्रित करण्यासाठी कार्य:

   sys.stdout.write("rStep: %d" % i)
   

"r" वर्ण हे कॅरेज रिटर्न आहे जे ओळीच्या सुरूवातीस रीसेट म्हणून कार्य करते, पुढील आउटपुटला वर्तमान वर अधिलिखित करण्यास अनुमती देते.

4. वापरण्याची खात्री करा sys.stdout.flush() कन्सोलवर लिहिल्यानंतर:

   sys.stdout.flush()
   

फ्लश() फंक्शन अंतर्गत बफर साफ करते आणि आउटपुट त्वरित प्रदर्शित होत असल्याचे सुनिश्चित करते.

5. शेवटी, वापरून विलंब जोडा time.sleep() कार्य:

   time.sleep(1)
   

हा विराम एका सेकंदासाठी टिकेल, ज्यामुळे आउटपुट ओव्हरराईट होत असल्याचे निरीक्षण करणे सोपे होईल.

आता तुम्ही प्रत्येक पुनरावृत्तीवर कन्सोल आउटपुट कसे अधिलिखित केले जात आहे ते पाहू शकता.

"sys" लायब्ररीचे विहंगावलोकन

The sys लायब्ररी हे एक शक्तिशाली अंगभूत पायथन मॉड्यूल आहे जे इंटरप्रीटरच्या अंतर्गत आणि विविध सिस्टम-विशिष्ट पॅरामीटर्समध्ये प्रवेश प्रदान करते. या लेखात, आम्ही वापरण्यावर लक्ष केंद्रित केले sys.stdout.write() आणि sys.stdout.flush() कन्सोल आउटपुट अधिलिखित करण्यासाठी कार्ये. तथापि, "sys" लायब्ररी कमांड लाइन आर्ग्युमेंट्स, बाइटऑर्डर, अपवाद आणि पूर्व-परिभाषित मार्ग यासारख्या इतर अनेक कार्ये ऑफर करते.

"वेळ" लायब्ररीचे विहंगावलोकन

The वेळ लायब्ररी हे आणखी एक अंगभूत पायथन मॉड्यूल आहे जे वेळ हाताळणी आणि प्रक्रियेशी संबंधित विविध कार्ये देते. आमच्या उदाहरणात, आम्ही वापरला time.sleep() पुनरावृत्ती दरम्यान विलंब निर्माण करण्यासाठी कार्य. "वेळ" लायब्ररी अंमलबजावणी वेळ मोजण्यासाठी, वेळेच्या स्वरूपांमध्ये रूपांतरित करण्यासाठी आणि वर्तमान वेळ प्राप्त करण्यासाठी इतर साधने देखील प्रदान करते. Python ऍप्लिकेशन्समध्ये वेळ-संबंधित फंक्शन्स किंवा शेड्युलिंग टास्कसह काम करणाऱ्या डेव्हलपरसाठी हे मॉड्यूल आवश्यक आहे.

संबंधित पोस्ट:

एक टिप्पणी द्या