Python-如何理解open()函数的参数。

2025-05-09 11:54:04

内建的open是访问文件的主要函数,有很多参数,这里给出本人的理解。

认识open函数:

1、创建文件对象使用open()函数,它是python的内置函数。它的作用就是:打开文件并返回对应的文件对象。open(file,罪焐芡拂mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)file: 文件路径。mode: 文件打开模式。buffering: 设置缓冲(不影响结果)。encoding: 解码或编码文件的编码的名称,仅适用于文本文件。errors: 指明编码和解码错误时怎么样处理,适用于文本模式。newline: 文本模式之下,控制一行的结束字符。closefd: 传入的file参数类型。opener: 自定义打开文件方式(使用默认None)它的参数列表里有长长的一串参数,但不要被吓到,可以看到只有一个位置参数file,其他的都是可选的默认参数,用到时候再具体传参。

Python-如何理解open()函数的参数。

2、位置参数file: 是路径类对象,表示将要打开的文件的路径(绝对路径或者当前工作目录的相对路径)1)绝对路径:文件的具体位置,一个完整的文件路径。2)相对路径:当前py文件夹的路径,就是和当前py在同一个文件夹的文件。

Python-如何理解open()函数的参数。

3、参数mode:是访问文件的模式。(可以分为两部分理解方便记忆)1--动作:'r':只读模式(默认);'w':写模式;'a':追加写入模式;2--文件模式:'b':二进制模式;'t':文本模式(默认);'+':更新磁盘文件(读取并写入);模式=动作+文件模式:例如:rt(r),wr(w)

Python-如何理解open()函数的参数。

4、参数buffering缓冲,用来表示缓冲区存盘的方式。缓冲区是内存上的一个空间,当达到缓冲区满了之后,数据才会刷到磁盘。1)buffering为-1时,使用默认大小的缓冲区。2)buffering为0时,关闭缓冲区,直接读写,仅在二进制模式下有效。3)buffering为1时,表示在文本模式下使用行缓冲区方式。即见到换行符就刷新存盘。4)buffering为大于1时,表示缓冲区用于指定缓冲区的大小。

Python-如何理解open()函数的参数。

5、参数encoding: 设置编码的名称,适用于 t (文本模式)例如:encoding='utf8'

Python-如何理解open()函数的参数。

6、参数errors:是用来指定编码和解码错误时处理方法。适用于 t (文本模式)。1)errors=strict,编码出错则抛出异常ValueError。同等于默认errors=None;2)errors=ignore,忽略错误。3)errors=replace,替代模式,比如使用“?’来替换出错的地方。例如:中文gbk编码如果忽略错误会出现乱码。

Python-如何理解open()函数的参数。

7、参数newline:控制换行。参数可以用None, ''挢旗扦渌;, '\n', '\r&垆杪屑丝#39;, '\r\n'(只能用于t模式)关于这个搜了很多,中文都看不懂,也没人举例子,都是一样的天书解释。用默认的参数即可。大概意思就是:1)用程序输入文本时想换行必须用'\n', '\r', '\r\n’,直接回车无效。2)读取非程序输入的文本时,输入'\n', '\r', '\r\n’就是个字符串。没有换行的作用。但你回车换行的符号它能读取到。

Python-如何理解open()函数的参数。

8、参数closefd:关闭文件描述符,True表示关闭。默认True,必须时True,否则报错。

Python-如何理解open()函数的参数。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢