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'