文件IO 读写read,readline,readlines

    技术2024-10-29  25

    文件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()
    Processed: 0.010, SQL: 9