python 檔案指標及檔案覆蓋

2022-02-01 02:03:26 字數 1644 閱讀 1934

1、檔案純淨模式延伸

r+t:可讀、可寫

w+t:可寫、可讀

with open('b.txt','w+t',encoding='utf-8') as f:

print(f.readable())

print(f.writable())

a+t:可追加寫、可讀

2、控制檔案指標移動

方法:f.seek(offset,whence)

offset代表檔案指標的偏移量,單位是位元組bytes

whence代表參照物,有三個取值

(1)0:參照檔案的開頭

(2)1:參照當前檔案指標所在的位置

(3)2:參照檔案末尾

ps:快速移動到檔案末尾f.seek(0,2)

強調:其中whence=1和whence=2只能在b 模式下使用

with open(r'rrf.txt','r+b')as f:

# f.readlines()

# f.seek(6,0) #從開頭移動6個位元組

# print(f.readline().decode('utf-8') )

# print(f.tell() )

# with open(r'rrf.txt', 'r+b')as f:

# f.readline()

# f.seek(9,1) #從當前指標位置移動9個位元組

# print(f.readline() .decode('utf-8') )

with open(r'rrf.txt', 'r+b')as f:

f.seek(-5,2) #指標在末尾,往前讀5個位元組

print(f.read() .decode('utf-8') )

print(f.tell())

3、檔案覆蓋(修改)方法

(1)在原檔案上進行修改操作,再寫入原檔案

優點:只有乙個檔案

缺點:如果檔案過大會占用記憶體資源

with open('rrf.txt','r',encoding= 'utf-8')as f :

x=f.read()

x.replace('我的','qqc') #修改內容

with open('rrf.txt','w',encoding= 'utf-8')as f:

f.write(x )

(2)將原檔案內容修改後寫入新的檔案,再改名

優點:同一時刻只有一行內容在記憶體

缺點:有兩個檔案

import os

with open('rrf.txt','r',encoding= 'utf-8')as f,\

open('bbt','w',encoding='utf-8' )as f1:

for x in f:

f1.write(x.replace('半倚深秋','qq'))

os.remove('rrf.txt') # 刪除老檔案

os.rename('bbt','rrf.txt') #把新檔案名字改成老檔案名字

python 檔案指標

f open c users ldh desktop test.txt r 以唯讀方式開啟乙個檔案,獲取檔案控制代碼,如果是讀的話,r可以不寫,預設就是唯讀,在python2中還有file方法可以開啟檔案,python3中file方法已經沒有了,只有open frist line f.readlin...

Python 檔案操作(讀 寫 追加 檔案指標)

一 檔案操作主要有讀r 讀寫r 寫w 寫讀w 追加a 追加讀a 幾種模式 1 讀模式r 讀寫模式r 1 不能寫 2 檔案不存在的話會報錯 f.open username.txt encoding utf 8 以讀的方式開啟檔案,windows下要加encoding要不然會報錯 python3中只有o...

Python檔案操作之指標

在檔案讀取過程中使用了指標這個概念 在一開始指標是指向檔案內容的開端的,伴隨著讀寫的進行指標一步一步往後挪 例如 f open g liumang.txt r data f.read tell 是求指標在 print f.tell print type data data f.write asdfd...