1. 程式人生 > 程式設計 >對Python中 \r, \n, \r\n的徹底理解

對Python中 \r, \n, \r\n的徹底理解

回車和換行的歷史:

機械打字機有回車和換行兩個鍵作用分別是:  

換行就是把滾筒卷一格,不改變水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一樣)

回車就是把水平位置復位,不捲動滾筒。 (即將游標移到行首,但是不會移到下一行,如果繼續輸入的話會覆蓋掉前面的內容)

Enter = 回車+換行(\r\n)

理解:

\n是換行,英文是New line

\r是回車,英文是Carriage return 

對Python中 \r,\n,\r\n的徹底理解

unix換行:\n(0x0A)

MAC回車:\r(0x0D)

WIN回車換行:\r\n(0x0D,0x0A)

補充知識: python檔案輸出unicode轉碼

有時候利用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"},

類似這種。

根據不同的編碼,讀取檔案輸出的時候,加上對應的解碼方式就行了。如:

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,\r\n的徹底理解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。