2017-12-16 20 views
0

n"sdfsdfdsf \n sdfdsfsdf \n sdfdsfdsf..."과 같은 텍스트가 있습니다. 이 텍스트를 인쇄 할 필요가 있지만 \n이있을 때마다 줄 바꿈을 인쇄하고 텍스트 본문을 별도의 줄로 나누어 인쇄해야합니다.파이썬 ' n'이 포함 된 경우 줄 바꿈으로 텍스트를 인쇄하는 방법

어떻게하면됩니까?

Edit1 : 소켓 트랜잭션에서이 텍스트를 가져 오는 중입니다. 그저 예쁜 방식으로 인쇄하려고합니다.

b'\r\n\r\nSERIAL Debugger\r\n--------------\r\n>fyi * -\r\nThis is a test: 0 (-)\r\nthis is a test\r\nnew level(-)\r\

+0

최소한의 재현 가능한 예제를 작성하십시오 – warvariuc

+0

일반적으로 print ("sdfsdfdsf \ n sdfdsfsdf \ n sdfdsfdsf ...")는 새로운 줄을 제공합니다 –

+0

어떻게 인쇄를 정확히 사용하려고합니까? 그것은 완벽하게 python2 & python3에서 작동합니다 !! – Tanu

답변

4

당신은 바이너리 데이터를 가지고 있고, 파이썬은 당신이 그것을 인쇄 할 방법을 알고하지 않습니다. 따라서 데이터에 인코딩을 알고, 그것을 디코딩 (I는 UTF-8 사용) :

Python 3.6.1 (default, Mar 23 2017, 16:49:06) 

>>> text = b'\r\n\r\nSERIAL Debugger\r\n--------------\r\n>fyi * -\r\nThis is a test: 0 (-)\r\nthis is a test\r\nnew level(-)\r\n' 

>>> print(text) 
b'\r\n\r\nSERIAL Debugger\r\n--------------\r\n>fyi * -\r\nThis is a test: 0 (-)\r\nthis is a test\r\nnew level(-)\r\n' 

>>> print(text.decode()) 


SERIAL Debugger 
-------------- 
>fyi * - 
This is a test: 0 (-) 
this is a test 
new level(-) 

그러나 인쇄를 위해 데이터 변환을 잘못 들린다.

+0

이것은 * 잘못 * 아니 었습니다. 이것은 파이썬 3에서 특히 할 일을하는 방식입니다. 바이트 더미가있을 때 문자에 지능형 변환을 적용해야합니다. –

+0

@ MarkRansom 나는 인쇄를 위해 잘못 들었다고 말했다. 응용 프로그램은 대개 인쇄하지 않기 때문에. 일반적으로 인쇄는 디버깅을 위해 수행됩니다. – warvariuc