Python open()函数参数详解:file、mode、encoding等常用选项解析
1。Open()函数原型打开(file,mode ='r',buffering = -1,encoding = none,errors = none,newline = note

从官方文档中,我们可以看到开放函数具有许多参数。我们经常使用文件,模式和编码。对于不常用的其他参数,我将简要介绍它们。
可接受的缓冲值为0、1、1、3、0表示缓冲区(仅用于二进制模式),1表示线缓冲区(仅用于文本模式),而> 1表示初始化的缓冲区大小;
编码意味着通常使用UTF8或GBK的返回数据使用了哪种编码;
错误的值通常是严格而忽略的。当受到严格处理时,当字符编码出现问题时,将报告错误。当忽略存在问题时,将忽略编码问题,并将继续以下程序。
Newline可以使用的值包括无,\ n,\ r,'''\ r \ n',用于区分newline字符,但此参数仅在文本模式下有效。
CloseFD的值与传递的文件参数有关。默认情况下是正确的。传递的文件参数是文件的文件名。当值为false时,文件只能是文件描述符。什么是文件描述?符号是一个非负整数。在UNIX内核系统中,如果打开文件,将返回文件描述符。
2。file()和open()
两者都可以打开文件并在文件上操作,并具有相似的用法和参数。但是,我认为,两个文件打开方法之间存在基本差异。文件是一个文件类,文件()用于打开文件。 ,这等同于构建文件类,并使用python的内置功能使用open()打开文件。
3。参数模式的基本值
r,w,a是打开文件的基本模式,对应于仅读取,只写入和附加模式;
将四个字符B,T, +和U与上述文件打开模式,二进制模式,文本模式,读写模式以及一般线路断裂结合使用,并根据实际条件组合。
4。公共模式值组合
1。R或RT默认模式,文本模式阅读
2。rb二进制文件
3。W或WT文本模式写,打开之前清除文件存储
4。WB二进制写作,文件存储也已清除
5。A.附录模式,只能在文件末尾写入。
6。a+可读和写入模式,写入只能在文件末尾写
7。可以读写W+。 ++之间的区别是清除文件内容
8。R+可以读写。与A+的区别在于它可以写入文件中的任何位置。
5。几种模式之间的差异。为了测试不同模式之间的差异,我们使用一小部分代码来测试文件中写入的直观差异。
test = [“ test1 \ n”,“ test2 \ n”,“ test3 \ n”]
f =打开(“ b.txt”,“ a+”)
尝试:
用于罪测试:
F.Write(S)
最后:
f.close()
(1)A+和W+模式之间的差异
(2)A+和R+模式
在将文件写入文件之前,我们将句子Seek(6)添加到上述代码中,以找到写文件的写入位置。
注意:打开具有R+模式的文件时,必须存在此文件,否则将报告错误,并且“ R”模式也是如此。
6。当您在二进制模式下用newlines编写Newlines时,由Newlines造成的麻烦,数据存储是正确的,但是当您在Windows平台上打开记事本程序时,您会看到符号的Newlines确实是小黑色块,但是如果您使用文本模式,则没有这样的问题。
在这里,由于编码问题,不同的平台对线路断裂有不同的识别。 Unix或Linux系统将\ n识别为NewLine标识符,但是Windows平台的编码忽略了\ n。
但是,Python本身具有转换函数。使用文本模式时,您将看不到不同平台引起的不同折断效果。但是,在二进制模式下,Python不会转换。只需将其写入。