반응형
질문
외부 프로그램의 표준 출력을 bytes
객체로 캡처했습니다:
>>> from subprocess import *
>>> command_stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0]
>>>
>>> command_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'
그것을 일반적인 Python 문자열로 변환하여 다음과 같이 출력하려고합니다:
>>> print(command_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
Python 3에서 bytes
객체를 str
로 어떻게 변환합니까?
반대로 변환하는 방법은 Python 3에서 문자열을 바이트로 변환하는 가장 좋은 방법은 무엇인가요?를 참조하십시오.
답변
>>> b"abcde".decode("utf-8")
'abcde'
위의 예제는 일반적인 인코딩 방식인 UTF-8을 가정합니다. 그러나 실제 데이터가 사용하는 인코딩 방식을 사용해야 합니다!
반응형
댓글