文件指針的移動基本上都是以bytes爲單位,但是t模式下的read()是以字符爲單位
一.模式
名稱 | 作用 |
---|---|
0 | 以文件開頭爲參照,t和b模式均適用 |
1 | 以當前文件指針位置爲參照,b模式適用 |
2 | 以文件末尾爲參照,b模式適用,移動單位應爲負數 |
二.常用方法
方法 | 作用 |
---|---|
f.seek(距離,模式) | 操縱文件指針移動 |
f.tell() | 獲取文件指針的位置 |
三.示例代碼
現有一個a.txt文件,內容如下:
1.以t模式打開文件,將指針移動到5後邊
with open("a.txt",mode="rt",encoding="UTF-8") as f:
f.seek(17,0)
2.以b模式打開文件,將指針移動到第二個恍後邊
with open("a.txt",mode="rb") as f:
f.seek(24,0) #以文件開頭爲參照,向後移動24個字節
print(f.read().decode("UTF-8"))
或
f.seek(24,1) #以當前指針位置(文件開頭)爲參照,向後移動24個字節
print(f.read().decode("UTF-8"))
或
f.seek(-8,2) #以文件末尾爲參照,向前移動8個字節
print(f.read().decode("UTF-8"))