语法格式:
open(file,mode='',buffering='',encoding=,erros=,newfile=,closefd=,opener=)
各参数的含义:
file:文件路径
mode:文件打开的形式
buffering:设置缓冲(一般可设置几个参数,-1,0,1,>1的整数,-1是系统默认的缓存区的大小,0是没有缓存区此时系统将以二进制的方式对文件进行读取,>1的整数代表了此时缓存区的大小)
补:有关缓冲:计算机读取文件的过程是这样的,从磁盘中读取数据,然后放在缓冲区,计算机在从缓冲区读取,反复循环
encoding:一般用UTF-8
newline:区分换行符,None,’’,’\n’,’\r’ 和 ‘\r\n’,设置为None时,则为系统默认的换行符
closefd:传入file参数类型,一般默认为True,True,false
opener:设置自定义开启器,开启器的返回值必须是一个打开的文件描述符(这里指的是设置自己打开文件的方法,一把设置为None)
---------------------------------------------------------------------------------------------------------------------------------
关于文件打开的形式(mode):
r | 以只读的方式打开文件,文件的指针将会放在文件的开头,这是系统默认模式 | |
w | 只用于读写,如果打开的文件里有内容用此模式则会覆盖原来的内容,如果不存在则创建新文件 | |
t | 文本形式默认值,单写会报错,一般加上r和w | |
b | 以二进制的形式读取文件,如果单独只写b的话,会提示请加上r或者w | |
x | 新建文件 | |
+ | 打开一个文件进行更新(可读可写) | |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 | |
r+ | 打开一个文件用于读写。文rb+件指针将会放在文件的开头。 | |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 | |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 | |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 | |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 | |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入 | |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 | |
a+ |
| |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写 |
补:(文件指针:文件指针在这里的作用就是,这里的读取文件,只能读取文件指针后面的内容,也就是说文件指针在哪,就读取之后的内容)
a = open('housing.data',mode='w')
s=a.tell()
print(s)
housing.data是我的数据的路径,tell()可以查看文件指针的位置![](https://i-blog.csdnimg.cn/blog_migrate/4ab035f7b6bc83f6724c59d0d724b64c.png)