文件与目录
在python系统中,文件是一个对象类型,类似字典,元组等其他类型。Python系统的文件概念不局限于磁盘上的文件,还可以是抽象的,具有文件型接口的类文件。
——摘自《Python程序设计教程》
python提供open()函数建立文件对象,并打开要读写的文件
open()打开格式 <file_object> = open(<filename>[,<access_mode>][,buffer])
其中,<file_name>就是文件对象,通open()函数打开一个文件的同时建立的,它建立了文件 与内存数据储存区的联系。
- <file_name> 是一个要访问文件的文件名,以字符串的形式表示。要打开的文件可以是二进制文件或文本文件,如果文件不在当前工作目录,要指出文件的路径
- 对于二进制文件,读出或写入的数据格式是字节对象;对于文本文件,数据格式是字符串。
- <access_mode>是文件打开的方式,是一个字符串,包括只读,写入、追加等
打开方式 | 功能 |
---|---|
‘w’ | 只读方式打开文件(缺省方式) |
‘r’ | 只写方式打开文件,如果文件存在,清除原来的内容 |
‘x’ | 创建一个新文件,只写方式打开文件 |
‘a’ | 只写方式打开文件,如果文件存在,将写入的内容追加在原文件的内容后 |
‘b’ | 二进制文件模式 |
‘t’ | 文本文件模式(缺省方式) |
‘+’ | 读/写方式打开文件,用于更改文件内容 |
打开模式‘r’,‘rt’都是指以只读的方式打开文本文件;要打开二进制文件,可使用'rb','r+','r+b','w+b',其中'r+b'和'w+b'用于打开可读可写的随机文件,
若文件已经存在,对于'w+b'会清除文件原来的内容。'x'模式表示以只写方式打开文件,如果文件存在,会引起FileExistsError错误。
用来指定缓冲区(内存中暂存文件的读/写数据的储存区域)设置策略,它是一个整数。值为零,表示关闭缓冲区(只对于二进制文件);值为一,表示行缓冲区(只用于文本文件);大于一的整数,表示缓冲区的大小。
不指出参数按以下情况实施:
- 对于二进制文件,适用固定大小的缓冲区,缓冲区的大小由io.DEFAULT_BUFFER_SIZE指定。多数系统使用4096或8192字节。
- 对于文本文件,交互系统的文本文件(isatty()方法返回True)使用行缓冲区,其他文本文件与二进制文件相同。
文件的关闭
关闭 文件,就是切断文件与内存数据存储区的联系,释放打开文件时占用的系统资源。
关闭文件: 文件名.close()