Python 文件操作(文件访问模式)

        文件操作三步:创建文件对象(open(),file()在python3中去掉)、操作文件(读啊,写啊之类的)、关闭文件(python可以在文件使用完之后自动关闭,但是不安全)

       1.文件访问模式

      (1)r,只读。只能读取存在的文件,若文件不存在,则返回IOError错误。

      (2)w,只写。若文件存在,则清空文件内容再写;如文件不存在,则创建文件。

      (3)a,追加。若文件存在,则在文件末尾追加文本,并且只能在文末追加;如文件不存在,则创建文件。

      (4)r+,读写。读的时候和r一样,但是在写操作的时候,从最前面开始改写(不是插入)。

      (5)w+,读写。创建文件对象的时候,清空文件,之后你执行读操作的时候,读出来的为空。写的时候和w模式一样,无论之前是否存在写的操作,读的时候均为空。

     (6)a+,读写。创建文件对象的时候不会清空文件,文件写的时候直接在文件尾部写,读的时候在直接从最开始读。

     (7)rb,wb,ab,rb+,wb+,ab+,这是对二进制文件进行的操作,具体操作参考以上解读。

ps:关于读写模式大家从哪里开始,大家可以参考一下文件中移动文件指针,配合file.tell()和file.write()加以理解。

 

        2.文件的创建(第一种方法直接把文件加载到内存中,对于很大的文件可能直接让计算机gg,而第二种方法,会生成一个迭代器,迭代需要的内容,不需要将文件加载的内存中)

     (1)F = open(’文件名’,’访问模式’)此时创建了一个“文件句柄”,可以唯一只带操作对象,file.fileno()返回一个文件描述符,在不同的程序中调用相同的文件,返回的整型值相同,即是同一个文件句柄。

     (2)for I in f:生成一个迭代器,txt每次迭代一行。

 

       3.file.read(5):读取五个字符,无论是英语或者汉字;但是这个时候file.tell()返回文件指针,如果读取的是英语的话,就是5,如果是汉字的话,就是15(但是在python2上运行,无论是汉字还是字母,均是5)

 

       4.如果要取txt文件的第五行的时候,直接用file.readlines()[4]


你可能感兴趣的:(python)