Python open函数的模式详解
在Python中使用open()函数打开文件,并返回一个文件对象,然后通过文件对象对文件进行读写操作。不同类型的文件需要采用不同的模式来打开,并且采用不同模式打开文件,我们可以进行的操作以及程序运行的结果也是不同的。
打开模式
open()函数完整的语法格式为:
open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)
函数定义的参数挺多,这里我们着重讲解mode——文件打开模式。mode参数有两大类,分别用来指定打开文件的文件格式和读写模式。
文件格式相关参数
t:以文本格式打开文件(默认)。一般用于文本文件,如:txt。
b:以二进制格式打开文件。一般用于非文本文件,如:图片。
这一类参数可以与其它的模式参数组合使用,用于指定打开文件的格式,需要根据你要打开文件的类型进行选择。
读写模式相关参数
r:以只读方式打开文件(默认模式)。文件指针定位在文件头的位置。如果文件不存在会报错。
w:以只写方式打开文件。如果文件存在,则打开文件,清空文件内容,从文件头开始编辑;如果文件不存在,则创建新文件,打开编辑。
a:以追加方式打开文件,同样是只写,不允许进行读操作。如果文件存在,则打开文件,将文件指针定位到文件尾。因此,新的内容是追加在已有内容之后。如果文件不存在,则创建新文件进行写入。
+:打开一个文件进行更新(可读写)。注意:该模式不能单独使用,需要与r/w/a组合使用。打开文件后文件指针的位置取决于另一个组合参数。
组合模式
r+:打开一个文件用于读写。如果文件存在,则打开文件,将文件指针定位在文件头,新写入的内容在原有内容的前面;如果文件不存在会报错。
w+:打开一个文件用于读写。如果文件存在,则打开文件,清空原有内容,进入编辑模式;如果文件不存在,则创建一个新文件进行读写操作。
a+:以追加模式打开一个文件用于读写。如果文件存在,则打开文件,将文件指针定位在文件尾,新写入的内容在原有内容的后面;如果文件不存在,则创建一个新文件用于读写。
所有上面这些模式默认都是t——文本模式,如果要以二进制模式打开,需要加上参数b,如:rb、rb+、wb、wb+、ab、ab+。
在了解了各种模式参数的具体用法后,根据您要打开的文件类型,以及打开文件后的操作类型来选用正确的mode参数即可。
- 更多Python基础语法及视频源码解析:
https://edu.51cto.com/sd/a3c18
原文地址:https://blog.51cto.com/13850653/2410859