Python文件操作汇总

python2.7

1. 文件的打开(内建函数)  open(file_path,mode=‘r’,buffering=-1)

<1> file_path是必须给出的参数,是要读取文件的绝对或者相对路径,要包含文件后缀.

绝对路径的3种表示方法:>>> file_path = "C:/tmp/123.txt"       >>> file_path = "C:\tmp\123.txt"   >>> file_path =r "C: mp123.txt"

相对路径的两种表示方法: ./表示当前文件夹  ../表示父文件夹

文件路径就是一个字符串,所以应该特别注意字符串中包含反斜杠的时候应该如何正确表示。‘\’真正表示的是‘’,  修饰符‘r’表示python中的原生字符。

<2>mode 指出了文件的打开方式,具体打开方式有哪些,这里不再累赘。

<3>buffering 参数指出读取文件的时候有关缓冲的选项

buffering = 0 表示不适用缓冲      
buffering = 1 缓存一行
buffering = 其他正整数N 缓存N个字节
buffering = 负数 使用系统默认,根据不同的系统而定

<4>open()函数的返回值是一个file object, 我的理解是一个指向文件在内存中的首地址。

 2. 文件的关闭(内建函数)close()

    为了安全,以及规范,打开文件使用完成后,务必使用close()将文件关闭。

    >>> data_file = "E:/tmp/data.txt"

    >>> f = open(data_file,'rt')

    >>>这里是文件对象的具体操作

    >>>f.close()

3. 文件的读操作

open()函数返回一个file objec,这里介绍的操作就是文件对象相关的操作

<1>file.next() 

      返回file指针位置到最近的一个换行符‘ ’之间的字符(包含file所指的字符以及换行字符)。file所指的位置,没有限制必须为某一行的开始位置。

<2>file.read([size])

      最多读取从file所指位置开始的size个字节,意思就是说,如果没有读取够size个字节的数据的的情况下,已经碰到文件结束符EOF了,那么会结束

      读取,返回当前所读取到的内容。

      *这里有一个小问题,就是用next()方法后,如果使用read(size)会弹错,目前还不知道什么原因。

<3>file.readline([size])

      size参数缺省的情况下,返回一整行的数据;

      size参数给出的情况下,返回file所在行内,从file开始至多size个字节的数据,即实际返回数据大小 = min{该行file之后的数据大小,size}

<4>file.readlines([size])

      size缺省的情况下,读取文件的所有行,并且存放于一个列表对象中。

4. 文件写操作

在进行文件写操作前,请确保文件打开方式,是以可写的方式打开的。

<1>file.write(str)

      将目标字符串str写入到文件中,需要时注意的是:由于缓存机制,在文件关闭前,str内容未必真的写入到了文件中. 所以,切记文件的close()操作。

<2>file.writelines(sequence)

      将可迭代对象sequence中的内容,依次写入到文件中。经常和readlines()配合使用。

5. 文件指针

<1>file.tell()   返回文件指针的当前位置

<2>file.seek(offset[,whence])    offset:偏移量; whence:相对位置

whence offset
0 (文件的开头) >=0 的整数,如果是负数会报错                                               
1(文件指针当前位置) 如果越界,会报错
2(文件末尾)

一般用负数(使用正数竟然不会报错,不知道为什么)

                       

mode参数,缺省情况下是"只读"方式

原文地址:https://www.cnblogs.com/zyq-blog/p/5585418.html