① Python内置函数(47)——open
Python内置函数open功能详解
open函数用于打开文件并返回一个文件读写对象。如果文件无法打开,则会抛出一个OSError异常。
参数file可以是一个字符串或字节对象,表示文件的相对路径(当前工作目录)或绝对路径,也可以是文件描述符。使用文件描述符时,如果closefd为True(默认),则文件在对象关闭时会自动关闭;如果为False,则文件描述符不会关闭。
参数mode用于指定打开文件的模式。常见的模式如下:
默认模式'r':以只读模式打开文本文件,确保文件存在。
'w':以只写模式打开。若文件存在,则清空文件内容并重新创建;若文件不存在,则新建文件。写入模式需要保证文件所在目录存在,文件可不存在。
'a':以追加模式打开。若文件存在,则内容追加到文件末尾;若文件不存在,则新建文件。该模式下不能使用read*()方法。
模式'b'表示以二进制模式打开,'t'表示以文本模式打开,默认为文本模式。
组合模式如'r+'表示以文本读写模式打开,可写入文件的任意位置;'w+'表示以文本读写模式打开,文件在打开前被清空。其他组合模式如'ab'、'wb'、'rb'等以此类推。
参数buffering用于设置缓冲策略,0表示关闭缓冲(仅在二进制模式下有效),1表示行缓冲(文本模式下有效),其他正整数表示固定大小的缓冲块。
参数encoding用于指定文件编码格式,仅在文本模式下有效。默认编码由locale.getpreferredencoding()函数返回,但支持任何Python支持的文本编码。
参数errors用于指定在读写文件时遇到错误时的处理级别。常见错误处理包括忽略错误、跳过错误、终止程序等。
参数newline用于控制文本模式下的换行符,可取值为None、'\n'、'\r'、''、'\r\n'。
参数closefd在传入文件描述符时使用,若为False,则关闭文件描述符;若为True(默认),则不会关闭。
使用open函数时,首先需明确文件操作的模式、编码等参数,以确保文件正确读写。函数返回的对象支持常见的文件读写操作,如read()、write()等。在实际应用中,合理配置open函数的参数可有效管理文件资源,避免资源浪费或数据丢失。