一、f.seek(位元組個數,模式)模式有三種
0:參照檔案的開頭
1:參照當前所在的位置
2:參照檔案末尾的位置
# 注意:# 1、無論何種模式,都是以位元組單位移動,只有t模式下的read(n)的n代表的是字元個數
with open('a.txt',mode='rt',encoding='utf-8') as f:
data=f.read(6)
print(data)
with open('a.txt',mode='rb') as f:
data=f.read(6)
print(data.decode('utf-8'))
# 2、只有0模式可以在t模式下使用,而0、1、2都可以在b模式下用
# 示例
with open('a.txt',mode='rb') as f:
f.seek(6,0)
print(f.read().decode('utf-8'))
f.seek(16,1)
print(f.tell())
f.seek(-3,2)
print(f.read().decode('utf-8'))
f.seek(0,2)
print(f.tell())
with open('b.txt',mode='wt',encoding='utf-8') as f:
f.seek(10,0)
print(f.tell())
f.write("你好")
# 應用1:tail -f access.log
import time
with open('access.log',mode='rb') as f:
f.seek(0,2)
while true:
line=f.readline()
if len(line) == 0:
time.sleep(0.3)
else:
print(line.decode('utf-8'),end='')
檔案內指標移動
大前提 檔案內指標的移動是bytes為單位的,唯獨t模式下的read讀取內容個數是以字元為單位 f.seek 指標移動的位元組數,模式控制 控制檔案指標的移動 模式控制 0 預設的模式,該模式代表指標移動的位元組數是以檔案開頭為參照的 1 該模式代表指標移動的位元組數是以當前所在的位置為參照的 2 ...
控制指標的移動 函式
控制指標的移動 1.一般控制指標的移動都是以位元組為單位。只有在t模式下,read n 中的n才能表示指標移動n個字元。其餘全部表示位元組。2.f.seek n 的三種模式 預設為0模式 1.0模式 參照檔案開頭 f.seek 3,0 2.1模式 參照當前指標所在位置 f.seek 3,1 3.2模...
Day10檔案內指標移動和函式
強調 只有t模式下的read n n代表字元個數,除此以外都是以位元組為單位 例如f.read 4 讀出4個字元 控制檔案內指標的移動 f.seek 以位元組為單位 f.tell 檔案開頭為準,當前指標所在位置 f.seek 移動的位元組數,三種模式 0 預設的模式 參照檔案開頭,1 參照指標當前所...