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 oswith 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...