目录
无论是哪种编程语言,IO 操作都是非常重要的部分。I 即Input(输入),O 即Output(输出)。
IO 操作一般分为以下两种:
- 磁盘IO: 即在磁盘上读写文件。读文件是指将文件内容从磁盘读入内存,写文件是指将内存中的内容写到磁盘。
- 网络IO: 即文件在网络上传输。网络传输一般会有两种角色,分别是服务端(如HTTP Server)和客户端(如浏览器)。
本节我们主要介绍磁盘IO,即文件读写。
1,open 函数介绍
要想读写文件,首先要打开一个文件。
Python 中的内建函数open 用来打开一个文件,我们可以使用help(open),来查看open 函数的原型,如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
该函数成功调用时会返回一个流stream,用于读写文件等操作;发生错误时会抛出IOError 异常。
被打开的文件占用了系统资源,使用完后要记得close,否则会浪费系统资源。
不管以读模式打开文件,还是以写模式打开文件,成功打开一个文件后,这个可操作文件的流的内部都有一个隐含的指针,一般这个指针会指向文件开头或者文件末尾的位置,表示从文件的哪个位置读写文件。
可以看到,该函数支持8 个参数,但最重要的是前两个参数:
- file:是指要打开的文件的路径
- mode:是指以什么模式打开文件,要用引号引住
mode 参数支持的模式(默认为读文本模式,即rt)如下:
- r:以读模式打开文件(默认方式),指针在文件开头
- w:以写模式打开文件,如果件已存在,则内容会被清空(指针在文件开头);如果文件不存在,则会创建新文件
- x:创建一个新文件,并以写模式打开,指针在文件开头,如果文件已存在,则抛出FileExistsError异常
- a:以写模式打开文件,如果文件已有内容,在写入内容时,会追加到文件末尾(指针在文件末尾)
- b:以二进制模式打开文件,一般用于读写二进制文件,如图片,视频等
- t:以文本模式打开文件(默认方式),一般用于读写文本文件
- +:以读写模式打开文件,指针在文件开头
这些模式还可以组合使用,常见的组合如下ÿ