दिलचस्प पोस्ट
सी # में एक बाइट सरणी में एक बड़ी फ़ाइल को पढ़ने का सबसे अच्छा तरीका है? JDialog का अधिकतम आकार सेट करना? हाइबरनेट में आलसी लोडिंग क्या है? XAMPP, अपाचे – त्रुटि: अप्रत्याशित रूप से अपाचे शटडाउन तिथियों की एक श्रृंखला उत्पन्न करना जावा में रेगेक्स नाम समूह एक अलग प्रक्रिया में जावा अनुप्रयोग को निष्पादित करना सीएसएस में 'होवर' का उपयोग कैसे करें मैं एक ही ईवेंट हैंडलर के लिए कई बटन कैसे सब्सक्राइब कर सकता हूं और किस बटन पर क्लिक किया गया था इसके अनुसार कार्य किया जा सकता है? आईफोन / आईपैड / ओएसएक्स: मेरा आईपी एड्रेस प्रोग्राम कैसे प्राप्त किया जाए? PHP: दो सरणियों को मर्ज करते हुए चाबियाँ बदलने की बजाए reindexing? एक्स "x = x ++" के बाद क्या है? आईओएस ऑटोलायआउट- दृश्यों के बीच दो अलग-अलग दूरी सेट करने के तरीके, स्क्रीन ऊंचाई पर निर्भर करता है .NET में मेमोरी लीक्स को खोजने के लिए कौन से रणनीतियों और टूल उपयोगी हैं? डेटाबेस तालिका के लिए सबसे अच्छा डिजाइन क्या है जिसे दो अलग-अलग संसाधनों के स्वामित्व में रखा जा सकता है, और इसलिए दो अलग-अलग विदेशी कुंजी की आवश्यकता है?

अजगर के सबप्रोसेक के लिए एक अच्छा समकक्ष क्या है। चेकमार्क stdout की सामग्री देता है?

मुझे एक अच्छा तरीका चाहिए जो कि CalledProcessError के इंटरफेस से मेल खाता है। CalledProcessError – यानी, CalledProcessError किया गया CalledProcessError तब फेंकता है जब यह विफल हो जाता है, तुल्यकालिक है, और सी – लेकिन कमांड के रिटर्न कोड को लौटने के बजाय (अगर यह भी करता है) रिटर्न प्रोग्राम का आउटपुट, या तो केवल स्टडआउट, या (स्टडआउट, स्टेडरर) का ट्यूपल।

क्या कोई ऐसा तरीका है जो यह करता है?

वेब के समाधान से एकत्रित समाधान "अजगर के सबप्रोसेक के लिए एक अच्छा समकक्ष क्या है। चेकमार्क stdout की सामग्री देता है?"

पायथन 2.7+

 from subprocess import check_output as qx 

पायथन <2.7

उपप्रोसेस से :

 import subprocess def check_output(*popenargs, **kwargs): if 'stdout' in kwargs: raise ValueError('stdout argument not allowed, it will be overridden.') process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs) output, unused_err = process.communicate() retcode = process.poll() if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] raise subprocess.CalledProcessError(retcode, cmd, output=output) return output class CalledProcessError(Exception): def __init__(self, returncode, cmd, output=None): self.returncode = returncode self.cmd = cmd self.output = output def __str__(self): return "Command '%s' returned non-zero exit status %d" % ( self.cmd, self.returncode) # overwrite CalledProcessError due to `output` keyword might be not available subprocess.CalledProcessError = CalledProcessError 

संभव check_output() कार्यान्वयन के अन्य उदाहरण के लिए एक स्ट्रिंग के रूप में सिस्टम कमान आउटपुट कैप्चरिंग भी देखें

मैं एक टिप्पणी में स्वरूपण नहीं कर सकता, इसलिए यह जेएफ सेबस्टियन के जवाब के जवाब में है

मैंने यह बहुत उपयोगी पाया इसलिए मुझे लगा कि मैं इस उत्तर में जोड़ूंगा। मैं संस्करण की जांच किए बिना कोड में मूल रूप से काम करने में सक्षम होना चाहता था। यह जो मैंने किया है…

मैंने उपरोक्त कोड को 'सबप्रोसेक_कोम्पाटपा' नामक एक फ़ाइल में डाल दिया तब कोड में जहां मैंने उपप्रोसेस का उपयोग किया था I

 import sys if sys.version_info < (2, 7): import subprocess_compat subprocess.check_output = subprocess_compat.check_output 

अब कोड में कहीं भी मैं 'सबप्रोसेस। चेक' आउटपुट '' कॉल करना चाहूंगा, और मैं यह चाहता हूं कि अजगर का मैं किस संस्करण का उपयोग कर रहा हूं।

यह फ़ंक्शन स्ट्रिंग की सूची के रूप में टर्मिनल आउटपुट देता है।

 import subprocess,sys def output(cmd): cmd_l = cmd.split() output = subprocess.Popen(cmd_l, stdout=subprocess.PIPE).communicate()[0] output = output.decode("utf-8") return (output)