"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन में प्रोग्राम आउटपुट को प्रभावी ढंग से कैसे कैप्चर करें: बेसिक सॉल्यूशंस से परे

पायथन में प्रोग्राम आउटपुट को प्रभावी ढंग से कैसे कैप्चर करें: बेसिक सॉल्यूशंस से परे

2024-11-08 को प्रकाशित
ब्राउज़ करें:113

How to Capture Program Output Effectively in Python: Beyond Basic Solutions

प्रोग्राम आउटपुट कैप्चर करना: नाइव सॉल्यूशंस से परे

पायथन स्क्रिप्टिंग में, आगे की प्रक्रिया के लिए प्रोग्राम आउटपुट कैप्चर करना एक आम जरूरत है। हालांकि भोले-भाले समाधान सीधे प्रतीत हो सकते हैं, लेकिन वे अक्सर कम पड़ जाते हैं। निम्नलिखित स्क्रिप्ट पर विचार करें जो stdout को लिखती है:

# writer.py
import sys

def write():
    sys.stdout.write("foobar")

निम्न कोड का उपयोग करके आउटपुट कैप्चर करने का प्रयास विफल रहता है:

# mymodule.py
from writer import write

out = write()
print(out.upper())

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

import sys
from cStringIO import StringIO

# Redirect stdout to a StringIO object
backup = sys.stdout
sys.stdout = StringIO()

# Perform the write operation
write()

# Retrieve and restore stdout
out = sys.stdout.getvalue()
sys.stdout.close()
sys.stdout = backup

# Process the captured output
print(out.upper())

पायथन 3.4 के लिए संदर्भ प्रबंधक:

पायथन 3.4 और बाद के संस्करण के लिए, contextlib का उपयोग करके एक सरल और अधिक संक्षिप्त समाधान उपलब्ध है। रीडायरेक्ट_स्टडआउट संदर्भ प्रबंधक:

from contextlib import redirect_stdout
import io

f = io.StringIO()
# Redirect stdout to f using the context manager
with redirect_stdout(f):
    help(pow)

# Retrieve captured output from f
s = f.getvalue()

यह शानदार दृष्टिकोण आउटपुट कैप्चरिंग प्रक्रिया को सरल बनाता है, जिससे आपकी पायथन स्क्रिप्ट को संभालना आसान हो जाता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729147521 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3