python3定义函数参数新特性_Python3 open()函数参数

open(file, mode=‘r‘, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None):

在使用该函数的时候,除了file参数必填外,其他参数可以选用。在本代码中对其他参数使用了默认值。

在使用open()的时候,如果文件不存在,那么将会返回IOError。

参数说明:

file:文件名称;

mode:制定了文件打开的方式,函数提供了如下方式,其中,‘rt‘为默认方式。

‘r‘       open for reading (default)——只读,默认方式

‘w‘       open for writing, truncating the file first——写入,会覆盖源文件内容

‘x‘       create a new file and open it for writing——创建新文件,并写入内容,如果文件已存在,将会报错:FileExistsError

‘a‘       open for writing, appending to the end of the file if it exists——写入,如果文件有内容,则在末尾追加写入

‘b‘       binary mode——二进制模式

‘t‘       text mode (default)——文本模式

‘+‘       open a disk file for updating (reading and writing)——更新磁盘文件,读写

‘U‘       universal newline mode (deprecated)——在paython3中已经弃用

buffering:用于设置缓存策略

在二进制模式下,使用0来切换缓冲;在文本模式下,通过1表示行缓冲(固定大小的缓冲区)。

在不给参数的时候,二进制文件的缓冲区大小由底层设备决定,可以通过io.DEFAULT_BUFFER_SIZE获取,通常为4096或8192字节

文本文件则采用行缓冲。

encoding:编码或者解码方式。默认编码方式依赖平台,如果需要特殊设置,可以参考codecs模块,获取编码列表。

errors:可选,并且不能用于二进制模式,指定了编码错误的处理方式,可以通过codecs.Codec获得编码错误字符串

newline:换行控制,参数有:None,‘\n‘,‘\r‘,‘\r\n‘。

输入时,如果参数为None,那么行结束的标志可以是:‘\n‘,‘\r‘,‘\r\n‘任意一个,并且三个控制符都首先会被转化为:‘\n‘,然后才会被调用;

如果参数为‘‘,所有的通用的换行结束标志都可以用,但是行结束标识符返回调用不会被编码。

输出时,如果参数为None,那么行结束的标志可以是:‘\n‘被转换为系统默认的分隔符;如果是‘‘,‘\n‘则不会被编码。

closefd:false:文件关闭时,底层文件描述符仍然为打开状态,这是不被允许的,所以,需要设置为ture

opener:可以通过调用*opener*方式,使用自定义的开启器。底层文件描述符是通过调用*opener*或者*file*, *flags*获得的。

*opener*必须返回一个打开的文件描述。将os.open作为*opener*的结果,在功能上,类似于通过None。

原文:https://blog.csdn.net/u010105645/article/details/78808779

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值