Python | os.read 函數
怎樣讀取n個字節串
最近更新時間 2020-12-12 13:09:51
os.read 函數從文件描述符 fd 中讀取至多 n 個字節。返回所讀取字節的字節串 (bytestring)。如果到達了 fd 指向的文件末尾,則返回空字節對象。
函數定義
os.read(fd, n)
# 函數定義
if sys.platform != 'win32':
# Unix only
...
def read(__fd: int, __length: int) -> bytes: ...
...
參數
- checkfd - 文件描述符。
- checkn - 讀取的字節長度。
返回值
- checkbytes - 讀取的字節串。
示例1: - 使用 os.read() 函數讀取 n 個字節串。
# coding=utf-8
# Python3 代碼
# 講解怎樣使用 os.read() 函數讀取 n 個字節串
# 引入 os 庫
import os
# 文件路徑
path = "foo.txt"
# 使用 os.open 函數打開文件
fd = os.open(path, os.O_RDWR)
# 使用 os.read 函數
# 讀取 3 個字節長度
s = os.read(fd, 3)
print("Bytes::", s)
print(s.decode('utf8'))
# 關閉文件
os.close(fd)
Bytes:: b'\xe4\xb8\xad' 中
上面的示例獲取 3 個字節長度,由於時 utf-8 編碼,3 個字節表示一箇中文字符,所以結果輸出一個 "中" 字。如果獲取 5 個字節串,使用 decode() 函數解碼會拋出 UnicodeDecodeError 異常。UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 3-4: unexpected end of data