bइंगित करता है कि क्या आपके पास है bytesजो एक द्विआधारी के बजाय यूनिकोड वर्ण की एक स्ट्रिंग बाइट्स के अनुक्रम है। सबप्रोसेस आउटपुट बाइट्स, अक्षर नहीं, इसलिए यह है कि क्या communicate()लौट रहा है।
bytesप्रकार सीधे नहीं है print()तो आप दिखाया जा रहा है कर रहे हैं, सक्षम reprकी bytesआप की है। यदि आपको पता है कि आपको उपप्रकार से प्राप्त बाइट्स की एन्कोडिंग है, तो आप decode()उन्हें एक मुद्रण योग्य में बदलने के लिए उपयोग कर सकते हैं str:
>>> print(b'hi\n'.decode('ascii'))
hi
बेशक, यह विशिष्ट उदाहरण केवल तभी काम करता है जब आप वास्तव में उपप्रकार से ASCII प्राप्त कर रहे हों। यदि यह ASCII नहीं है, तो आपको एक अपवाद मिलेगा:
>>> print(b'\xff'.decode('ascii'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0…
न्यूलाइन echo hiमें आउटपुट का हिस्सा है । echoनौकरी एक पैरामीटर है जिसे आप इसे पारित करते हैं, उसके बाद एक नई पंक्ति। यदि आप प्रक्रिया आउटपुट के आसपास व्हाट्सएप में रुचि नहीं रखते हैं, तो आप इसका उपयोग कर सकते हैं strip():
>>> b'hi\n'.strip()
b'hi'