文件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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章