對Python中 \r, \n, \r\n的徹底理解
回車和換行的歷史:
機械打字機有回車和換行兩個鍵作用分別是:
換行就是把滾筒卷一格,不改變水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一樣)
回車就是把水平位置復(fù)位,不卷動滾筒。 (即將光標(biāo)移到行首,但是不會移到下一行,如果繼續(xù)輸入的話會覆蓋掉前面的內(nèi)容)
Enter = 回車+換行(\r\n)
理解:
\n是換行,英文是New line
\r是回車,英文是Carriage return
unix換行:\n(0x0A)
MAC回車:\r(0x0D)
WIN回車換行:\r\n(0x0D,0x0A)
補充知識: python文件輸出unicode轉(zhuǎn)碼
有時候利用python爬蟲獲得的文件是Unicode的編碼格式。輸出大概是:
{"\u5185\u5bb9": "\u5c11\u5e74\u4e0d\u8bc6\u6101\u6ecb\u5473\uff0c\u7231\u4e0a\u5c42\u697c\u3002\u7231\u4e0a\u5c42\u697c\u3002\u4e3a\u8d4b\u65b0\u8bcd\u5f3a\u8bf4\u6101\u3002 \u800c\u4eca\u8bc6\u5c3d\u6101\u6ecb\u5473\uff0c\u6b32\u8bf4\u8fd8\u4f11\u3002\u6b32\u8bf4\u8fd8\u4f11\u3002\u5374\u9053\u5929\u51c9\u597d\u4e2a\u79cb\u3002scrapy\u4e2d\u6587\u7f51\uff08http://www.scrapyd.cn\uff09\u6574\u7406", "\u4f5c\u8005": "\u8f9b\u5f03\u75be"},
類似這種。
根據(jù)不同的編碼,讀取文件輸出的時候,加上對應(yīng)的解碼方式就行了。如:
with open("mingyan.json",'r',encoding='unicode_escape')as file: message = file.read() print(message) print(type(message)) encoding = ‘編碼方式'
編碼方式其實有很多。一般文件上面有個
# test for with.py # -*- coding: utf-8 -*- # __author__ = 'Carina'
這就是指出了編碼方式。方便以后的該文件的處理操作
以上這篇對Python中 \r, \n, \r\n的徹底理解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3.6 + TensorFlow 安裝配置圖文教程(Windows 64 bit)
這篇文章主要介紹了Python3.6 + TensorFlow 安裝配置的教程(Windows 64 bit),本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02DataFrame數(shù)據(jù)框模糊查詢與去重方式
數(shù)據(jù)框模糊查詢通常使用contains函數(shù)和正則表達式來實現(xiàn),可以查詢以某個字符開頭、包含或結(jié)尾的數(shù)據(jù),若數(shù)據(jù)類型不一致可能會報錯,需統(tǒng)一為str類型,數(shù)據(jù)框去重則通過drop_duplicates函數(shù)實現(xiàn),可指定列進行去重,并有多種處理重復(fù)值的方式2024-09-09給Python的Django框架下搭建的BLOG添加RSS功能的教程
這篇文章主要介紹了給Python的Django框架下搭建的BLOG添加RSS功能的教程,示例代碼非常簡單,需要的朋友可以參考下2015-04-04