控制檔案內指標移動

2022-08-14 20:51:13 字數 1073 閱讀 4237

一、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 參照指標當前所...