文件IO 讀寫read,readline, readlines

文件IO 讀寫

fnew=open('/murex/new.txt','w')
fnew.write('hello \n i am new')
fnew.read()
fnew.close()

由於read()方法會讀取整個文件內容,涵蓋整個文件中所有數據,數據量太過龐大,非常難以對文件內容進行分析,open()函數返回一個可迭代對象,可以用for遍歷文件對象方法

讀取read()總結

格式:返回對象類型 – 讀取方法

String=FileObject.readline([size])
List = FileObject.readlines([size])
String = FileObject.read([size])
FileObject.next()

write()方法

前面介紹過write()方法是否會覆蓋文件原內容,決定於打開文件對象的遊標(指針)位置,默認r+模式指針位於文件頭,a模式表示append,指針遊標位於文件尾部。而寫文件最關鍵的指針是可以操作移動的,用seek()函數
FileObject.seek(偏移量,選項)
選項=0表示將文件指針指向從文件頭部到‘偏移量’字節處
選項=1表示將文件指針指向從文件當前位置,向後移動‘偏移量’字節處
選項=2表示將文件指針指向從文件尾部,向前移動‘偏移量’字節處

FileObject.write(string)
FileObject.writelines(List)
FileObject.seek(偏移量,選項)
FileObject.flush()

示例

case2–文件內容替換,把a.t中的hello替換爲csvt,並保存結果到a2.t中,示例:

示例1:
fp1=file("a.t","r")
fp2=file("a2.t","w")
for s in fp1.readlines():
	fp2.write(s.replace("hello","csvt"))
fp1.close()
fp2.close()

示例2:
fp1=file("a.t","r+")
s=f1.read():
f1.seek(0,0)
f1.write(s.replace("hello","csvt"))
fp1.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章