file对象
file对象使用open函数来创建,下表列出了file对象常用的函数:
file常用的函数
函数 | 释义 |
---|---|
file.close() | 关闭文件。关闭后文件不能再进行读写操作,且释放资源。 |
file.flush() | 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。 |
file.fileno() | 返回一个整型的文件描述符(filedescriptorFD整型),可以用在如os模块的read方法等一些底层操作上。 |
file.isatty() | 如果文件连接到一个终端设备返回True,否则返回False。 |
file.next() | 返回文件下一行。 |
file.read([size/n]) | 从当前定位(一般就是文件开始处)获取文件内容,返回整个文件内容的字符串(此时定位在文件尾,若再使用read()方法,会返回空字符串,因为已经到文件尾了),若指定了需要获取的字符数n(较低版本则是指定字节数size),可以给read方法传入参数,比如:read(3)表示从当前定位往后读取3个字符,则返回指定字符数的字符串。注意不能从一个字符的中间字节处读取,因为有的字符(比如中文)的表示不止一个字节,而定位是以字节来计算位置的,read()是以字符来计数的。 |
file.readline([size]) | 读取文件中的一行,并定位到下一行的开始处。 |
file.readlines([sizeint]) | 读取文件中的所有行,返回所有行为元素组成的列表;若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 |
file.seek(offset[,whence]) | 使定位到特定字节处(若使用read()方法读完文件后还想再读取一次文件,可以使用seek(0)重新定位到文件开始处再读取),whence取值有0、1和2,0是默认值,表示文件头,1表示当前位置,2表示文件尾,例如file.seek(3,1)表示定位到从当前位置往后三个字节处,file.seek(-5,2)表示定位到从文件尾往前5个字节处。 |
file.tell() | 返回当前定位的字节位置。 |
file.truncate([size]) | 截取文件,截取的字节通过size指定,默认为当前文件位置。 |
file.write(str) | 将字符串写入到文件中,返回写入的字符数。 |
file.writelines(sequence) | 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
file.name | 获取文件的文件名(包含路径),即传入open文件名参数。 |
file.encoding | 获取文件的编码方式。 |
file.mode | 获取文件的访问方式,若没有指定这个参数,open的默认访问方式为只读"r"。 |
file.closed | 返回文件是否关闭的状态 |