1、open()语法
open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])
open函数使用一个文件名作为唯一的强制参数,然后返回唯一的文件对象。
open:函数有很多的参数,常用的是file,mode和encoding;
file:文件位置,需要加引号; mode文件打开模式,有读、写; buffering的可取值有0,1,>1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),>1表示初始化的buffer大小; encoding表示的是返回的数据采用何种编码,一般采用utf8或者gbk; errors的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。 newline可以取的值有None, \n, \r, ”, ‘\r\n’,用于区分换行符,但是这个参数只对文本模式有效;2、 Python中file()与open()区别
两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,建议使用open;
3、文件打开—转义符的使用
复制文件的路径,打开文件:
出现打开错误,直接复制路径打开报错,是因为”\”符号在python中会被视为转义符,此时传入的路径就出现差错;那我们可以采取修改路径的方式,将”\”改为”/”:
或者使用最常规的操作:在含有转义符的字符串前加‘r’表示字符串内按原始含义解释,不做转义处理;这里的r相当于正则表达的操作;
4、参数mode文件打开模式的基本取值
常见的打开模式如图:
常见的mode取值组合:
- r或rt 默认模式,文本模式读
- rb 二进制文件
- w或wt 文本模式写,打开前文件存储被清空
- wb 二进制写,文件存储同样被清空
- a 追加模式,只能写在文件末尾
- a+ 可读写模式,写只能写在文件末尾
- w+ 可读写,与a+的区别是要清空文件内容
- r+ 可读写,与a+的区别是可以写到文件任何位置
r:打开文件只读模式,查看文件内容
w:打开写入write模式,重新写入的内容会替代原内容
a:打开添加模式,但是添加的内容在文尾
r+:在写入文件前,我们在上面那段代码中加上一句f.seek(0),用来定位写入文件写入位置(文件开头),直接覆盖字符数(注意\n也是一个字符)
- f.seek(n)将在n位置写入
5、其他测试
f.read()读取整个文件f.readline()读取一条一条的信息
f.readlines()读取所有的信息,返回元素列表