1. 程式人生 > >解析文字檔案 r 與 rb 模式的區別(Python)

解析文字檔案 r 與 rb 模式的區別(Python)

                     

0. EOL(End-Of-Line)

區別主要在 EOL 的處理方式不同。對於不同的作業系統而言,

  • Unix:\n
  • Mac:\r
  • Windows:\r\n

對於 Python 語言,通過如下語句進行查詢:

>> import os>> os.linesep'\r\n'
  • 1
  • 2
  • 3

1. 不同的作業系統

對於 Windows 系統而言,含有 brbwbr+b) 表示以二進位制形式開啟檔案。windows 下的 Python 對文字檔案(text files)和二進位制檔案(binary files)的處理方式不同,

2. Python 2 vs Python 3

對於 Python 3 環境:

  • r:Python 將會按照編碼格式進行解析,read() 操作返回的是str
  • rb:也即 binary mode,read()操作返回的是bytes