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'