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

मैं पायथन में सबप्रोसेस आउटपुट को कैसे चुप कर सकता हूं?

2025-01-26 को प्रकाशित
ब्राउज़ करें:666

] सबप्रोसेस मॉड्यूल इस उद्देश्य के लिए एक शक्तिशाली तंत्र प्रदान करता है, जिससे पायथन कार्यक्रमों को ऑपरेटिंग सिस्टम के साथ बातचीत करने और नियंत्रित तरीके से कमांड को निष्पादित करने की अनुमति मिलती है। अवांछित आउटपुट, जो टर्मिनल या आउटपुट डिस्प्ले को अव्यवस्थित कर सकता है और स्क्रिप्ट के स्वयं के आउटपुट की पठनीयता में हस्तक्षेप कर सकता है। यह विशेष रूप से प्रचलित है जब कमांड का उपयोग करते हैं जो डायग्नोस्टिक संदेश या वर्बोज़ स्थिति अपडेट प्रदान करते हैं।

How Can I Silence Subprocess Output in Python?
पायथन 3.3 और बाद में

के लिए दृष्टिकोण। देवनल कॉन्स्टेंट की शुरूआत के लिए सीधा कार्य धन्यवाद। यह स्थिरांक एक फ़ाइल जैसी ऑब्जेक्ट का प्रतिनिधित्व करता है, जो इसे लिखे गए किसी भी डेटा को छोड़ देता है, प्रभावी रूप से आउटपुट को कहीं नहीं पुनर्निर्देशित करता है। ]

आयात सबप्रोसेस retcode = subprocess.call (['इको', 'फू'], stdout = subprocess.devnull, stderr = subprocess.stdout)

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

3.3 से पहले पायथन संस्करणों के लिए, जिसमें व्यापक रूप से उपयोग किए जाने वाले पायथन 2.7 शामिल हैं, सबप्रोसेस आउटपुट को सिलिंग करने के लिए थोड़ा अलग दृष्टिकोण की आवश्यकता होती है। पायथन 2.7 में देवनुल स्थिरता का अभाव है, इसलिए हमें मैन्युअल रूप से /देव /नल फ़ाइल को खोलना चाहिए और आउटपुट को पुनर्निर्देशित करना चाहिए।

यहाँ आप इसे कैसे प्राप्त कर सकते हैं आयात उपप्रकार Fnull = Open (os.Devnull, 'W') retcode = subprocess.call (['इको', 'फू'], stdout = fnull, stderr = subprocess.stdout)

को /dev /null फ़ाइल (NULL डिवाइस का प्रतिनिधित्व करते हुए, जो इसे लिखे गए किसी भी डेटा को छोड़ देता है) को खोलकर और इसे stdout और stderr तर्कों के रूप में पारित करता है। हम प्रभावी रूप से सभी सबप्रोसेस आउटपुट को शून्य पर पुनर्निर्देशित करते हैं, एक स्वच्छ और अप्रकाशित टर्मिनल को सुनिश्चित करते हुए। शेल कमांड। जबकि यह विधि कम पोर्टेबल है और आम तौर पर पायथन स्क्रिप्ट में उपयोग के लिए अनुशंसित नहीं है, यह कुछ परिदृश्यों में उपयोगी हो सकता है:

import subprocess

retcode = subprocess.call(['echo', 'foo'],
    stdout=subprocess.DEVNULL,
    stderr=subprocess.STDOUT)

यह दृष्टिकोण सीधे एक शेल कमांड को निष्पादित करता है, इको कमांड के आउटपुट को /dev /null के आउटपुट को पुनर्निर्देशित करता है> ऑपरेटर का उपयोग करके। आउटपुट और एक साफ और पठनीय आउटपुट डिस्प्ले बनाए रखें। इन तकनीकों का उपयोग करके, आप प्रभावी रूप से सबप्रोसेस आउटपुट को छिपा सकते हैं और यह सुनिश्चित कर सकते हैं कि केवल वांछित जानकारी उपयोगकर्ता को प्रस्तुत की जाती है।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3