codecs.
open
(filename, mode='r', encoding=None, errors='strict', buffering=1)
使用给定的模式打开编码文件并返回StreamReaderWriter
的实例,从而提供透明的编码/解码。默认文件模式是'r'
,这意味着以读取模式打开文件。
注意:底层编码文件始终以二进制模式打开。读取和写入时不会自动转换'\n'
。mode参数可以是内置open()
函数可接受的任何二进制模式;'b'
会自动添加。
encoding指定要用于该文件的编码。任何对字节进行编码和解码的编码都是允许的,并且文件方法支持的数据类型取决于所使用的编解码器。
errors可能会给出了定义的错误处理。它默认为'strict'
,如果发生编码错误,会导致引发ValueError
。
缓冲与内置open()
函数具有相同的含义。它默认为行缓冲。
codecs是Python中标准库的内容,而codecs.open和内置函数open()的不同在于,open函数无法打开一份由不同编码组成的同一份文件,而codecs.open如文档所说,始终以二进制模式打开,故打开就是Unicode格式,所以,codecs.open能打开由不同编码格式组成的文件。