一、檔案操作的常用方法:
1、read():從游標位置開始讀取整個檔案剩下的內容,注意是從游標位置開始,不一定是讀取整個檔案。
#第一次讀取:2、readline和readlines的區別:f=open('test.txt','r')
print(f.read())
f.close()
#自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.
#第二次讀取
f=open('test.txt','r')
f.readline()
f.close()
#readline()只讀取一行,然後游標移動到下一行3、write,writelinesf=open('test.txt','r')
print(f.readline()) #自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.
f.close()
#readllines()讀取整個檔案,然後把每一行當成乙個元素存成乙個列表。注意每個元素後後帶有換號符
f=open('test.txt','r')
f.close()
#最後說明一點:readlines是把整個檔案都一次性讀寫到記憶體中,如果檔案小還好,一旦檔案大了,會要命。檔案大可以使用下面這種方法來讀寫:
with open('test.txt','r') as f:
for line in f:
print(line.strip())
#這樣讀寫的好處就是一行一行讀,並且讀完就釋放,完全不占用記憶體。
f.write('1111\n222\n') #針對文字模式的寫,需要自己寫換行符4、其他方法:f.write('1111\n222\n'.encode('utf-8')) #針對b模式的寫,需要自己寫換行符
f.writelines(['333\n','444\n']) #檔案模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式
f.readable() #檔案是否可讀二、檔案游標的移動:f.writable() #檔案是否可讀
f.closed #檔案是否關閉
f.encoding #如果檔案開啟模式為b,則沒有該屬性
f.flush() #立刻將檔案內容從記憶體刷到硬碟
f.name #檔名
1、read(n)當檔案開啟方式為文字模式時,代表讀取n個字元,檔案開啟方式為b模式時,代表讀取n個位元組
#1、以文字模式讀取2、tell() 獲取當前檔案指標所在的位置,沒引數。以位元組方式計算返回with open('test.txt','r') as f:
print(f.read(4)) #自恐多情
#2、以位元組模式讀取:
with open('test.txt','rb') as f:
print(f.read(4).decode('gbk')) #自恐
#直接輸出:print(f.read()) 輸出為 b'\xd7\xd4\xbf\xd6'
with open('test.txt','r') as f:3、seek() 作用:用於移動檔案讀寫指標到指定位置。print(f.read(4)) #自恐多情
print(f.tell()) #8
#函式的原型是:file.seek(offset,whence=0)offset是指偏移量,whence有三個值,0,1,2。0代表移動到檔案開頭,1,指當前位置,2指檔案末尾。 預設則使用預設值0.
#注意:使用引數1,2必須在位元組模式b下開啟檔案!
二、檔案的修改:
實際上我們平時說得修好某個檔案的某個地方,實際是本質上並不是直接修改檔案,而是覆蓋。檔案的資料是存放於硬碟上的,因而只存在覆蓋、不存在修改這麼一說,我們平時看到的修改檔案,都是模擬出來的效果,我們可以用下面的**來模擬這過程。
import oswith open('test.txt','r') as f ,open('test_1.txt','w') as f1:
for line in f:
line=line.replace('自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.',\
'不恐多情損梵行, 唯恐入山誤傾城.世間安得雙全法,寧負如來不負卿.')
line=line.replace('倉央嘉措','喲,寫bug呢??')
f1.write(line)
os.remove('test.txt')
os.rename('test_1.txt','test.txt')
python13檔案 13 Python 檔案
概述 嚴格講,檔案不屬於資料型別。02操作 1 開啟檔案 1 基本語法 file open 檔名 mode 引數mode模式可選引數,分為 r讀 w寫 a追加 r w a後面可接第二個引數,b標書二進位制,f open data.bin rb 2 完整語法格式為 open file,mode r b...
Python自娛 13 檔案操作
一.檔案操作 檔案控制代碼 f open 檔案絕對路徑或相對路徑 mode r encoding utf 8 content f.read 這裡進行了乙個utf 8到gbk轉換?print content f.close 如果檔案隱藏了字尾,則不要新增字尾 以什麼編碼方式儲存的檔案,就以什麼編碼方式...
python(13) 檔案處理應用 增刪改查
使用者選擇1,增加功能 使用者輸入www.oldboy2.org和server 11111 weight 2222 maxconn 3333後,在www.oldboy2.org下增加一條server資訊 server 11111 weight 2222 maxconn 3333使用者選擇2,刪除功能...