2017-12-16 10 views
0

n"sdfsdfdsf \n sdfdsfsdf \n sdfdsfdsf..."のようなテキストがあります。このテキストを印刷する必要がありますが、\nがあるたびに改行を印刷し、テキストの本文を別々の行に分割して印刷する必要があります。Python ' 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

通常の印刷( "sdfsdfdsf \ n sdfdsfsdf \ n sdfdsfdsf ...")は新しい行を返します –

+0

印刷物をどのように使用しようとしていますか?これはpython2とpython3で完全に動作します! – Tanu

答えて

4

あなたは、バイナリデータを持っている、とPythonは、あなたがそれを印刷する方法を知りません。だから、データが(私は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

これは間違ってはいませんが、これはPython 3の中で特にやるべきことです。バイトの山があるときは、文字にインテリジェントな変換を適用する必要があります。 –

+0

@ MarkRansom私は印刷のために間違っていると言った。アプリケーションは通常、印刷しないためです。通常、印刷はデバッグのために行われます。 – warvariuc

関連する問題