b
Ne var olduğunu gösterir bytes
bayt ikili dizisi ziyade Unicode karakter dizesidir olan. Alt süreçler karakterleri değil, baytları çıktılar, yani communicate()
geri dönen şey budur.
bytes
Tipi doğrudan değil print()
size gösterilen ediliyoruz yüzden, mümkün repr
ait bytes
sahip. Alt işlemden aldığınız baytların kodlamasını biliyorsanız, decode()
bunları yazdırılabilir hale dönüştürmek için kullanabilirsiniz str
:
>>> print(b'hi\n'.decode('ascii'))
hi
Elbette, bu belirli örnek yalnızca alt işlemden gerçekten ASCII alıyorsanız işe yarar. ASCII değilse, bir istisna alırsınız:
>>> 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…
Satırsonu, echo hi
çıktıya sahip olanın bir parçasıdır . echo
'nin görevi, geçirdiğiniz parametreleri, ardından bir satırsonu ile çıktılamaktır. İşlem çıktısını çevreleyen boşluklarla ilgilenmiyorsanız, şu şekilde kullanabilirsiniz strip()
:
>>> b'hi\n'.strip()
b'hi'