7
0

خروجی استاندارد یه برنامه خارجی رو به یه شیء بایتز (bytes) گرفتم:

>>> from subprocess import *
>>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0]
>>> stdout
b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2\n'

می‌خوام اون رو به یه رشته معمولی پایتون تبدیل کنم تا بتونم اینجوری پرینتش کنم:

>>> print(stdout)
-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1
-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2

چطوری می‌تونم شیء bytes رو تو پایتون ۳ به str تبدیل کنم؟

0
پاسخ کاربردی

شیء بایتز رو دیکد کن تا یه رشته تولید بشه:

>>> b"abcde".decode("utf-8")
'abcde'

مثال بالا فرض می‌کنه که شیء بایتز در کدگذاری UTF-8 هست، چون این یک کدگذاری رایجه. اما باید از کدگذاری استفاده کنی که داده‌هات واقعاً تو اون هستن!

ارسال پاسخ به سوال بالا

برای ارسال پاسخ باید وارد اکانتت بشی

اگر پاسخت شامل تکه کدی میشه، از منوی ویرایشگر پایین، تکه کدی که نوشتی رو انتخاب کن و بعد از طریق زبان کدی که نوشتی رو انتخاب کن تا کدت داخل بلاک مخصوص زبان خودش قرار بگیره و کدت خواناتر برای بقیه نشون داده بشه

اگه پاسخت رفرنسی داره، لینک رفرنس رو هم بذار تا پاسختت کاملتر و معتبر تر بشه