我篩選了大量的python/unicode解釋,但我似乎無法理解這一點。Python 3和Unicode - 如何打印換行符(理解此問題的一般問題)
這裏的情況是:
我拉的意見負載過reddit的(使一個機器人),並想主要是它們存儲在MongoDB中,也需要能夠以打印出評論樹手動檢查發生了什麼。
到目前爲止,我已經沒有問題將註釋放入數據庫,但是當我嘗試打印到標準輸出時,CP1252字符集遇到了顯然不支持的字符問題。
正如我所讀到的,在Python 3中一切內部(字符串)存儲爲Unicode,它的輸入和輸出必須是字節,所以這很好 - 我可以將Unicode編碼爲CP1252,並且在幾種情況下我會看到\ x **我不介意的角色 - 我猜他們代表超出範圍的角色?
的問題是我是用\ n(換行)和標籤,因此很容易查看打印出來評論樹(到標準輸出),但顯然,當你編碼的Unicode字符串換行符轉義序列,它避開他們所以他們打印爲文字。
僅供參考這裏是我的編碼聲明:
encoded = post.tree_to_string().encode('cp1252','ignore')
感謝
編輯:
我要的是
|Parent Comment
|Child comment 1
|GChild comment 1
|Child comment 2
|Parent Comment 2
我得到的是
b"\n|Parent comment \n\n |Child comment \n\n etc
你真的在打印字符串嗎?你只是在python提示符下查看字符串嗎? – oefe
我希望能夠將它們打印到文件/標準輸出中,以便我可以手動查看它們 - 請參閱示例我現在放在主帖 – Alex