Python文件處理:簡單理解就是對文件交互的處理過程,主要包含RW過程。
當前目錄下創建文件:
f=file('aa.txt','w')##第一個文件名,一個是打開f模式,模式主要有rwa#
r模式:直接讀取已經必須要存在的文件,不存在話 報錯IOerror
w模式:會直接創建一個新的文件,若存在直接覆蓋舊文件
a追加模式,不會覆蓋原來文件
##默認不寫是r模式
###對文件進行寫入操作
f=file('aa.txt','w')
f.write('Python')
此時若沒關閉文件,還在內存,但還沒真正的寫入文件,有兩種方式進行落盤操作
1、f.flush()
2、f.close()
若文件關閉後是無法進行對它再次的操作,需要再次打開纔可以。
##讀取文件內容:
f=file('aa.txt','r')
f.read()##直接讀取全部的內容,以字符串形式,再次讀的話,顯示爲空
###注意,在操作文件時候,W模式不能進行R操作
###若要一行行讀用
f.readline()
###使用read讀取到文件末尾,指針跳到最後一行,返回第幾行,查看指針所在位置:
f.tell()###指針位置
f.seek(0)##移動指針位置
f.readline()###即可實現一行行的字符串顯示,一次讀到內存中,若文件大,需要做重複判斷,處理大文件用xreadlines(),效率高
f.readlines()###把字符串變成列表的方式顯示出來,一次讀到內存中,a.split('\n')也是轉換成列表
f.truncate(N)#字符串切割,按比特來計算。
f.writelines()##列表寫入文件
###f=file('aa.txt','w')
msg = ['write date\n','to 3.txt\n','finish\n']
f.writelines(msg)##此方式只要是字符即可不能爲int
f.xreadlines()###迭代的讀一次讀取一行,f.readlines()一次讀取全部內容。
##文件的追加模式:r+ 即可實現讀寫模式,會直接覆蓋指針所在的行數據。
wb、rb##轉換成2進制模式,處理WINDOWS和LINUX文件交互處理 (dos2unix)
###遍歷文件內容用for循環
##文件內容替換:
import fileinput
for line in fileinput.input("filepath",inplace=1):##backuu='.bak' 備份原文件
line=line.replace("oldtext","newtext")
print line,###不寫print是不會寫入文件的