一句话:open用来打开文件
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中:
file:文件的路径名
mode:open的模式
字母 | 作用 | 可读 | 内容增加 | 若不存在 |
'r' | 只读模式(默认) | True | 无 | 报错 |
'rb' | 以二进制格式打开一个文件用于只读,文件不可写 | True | 无 | 报错 |
'r+' | 读写,写入内容为string | True | 追加 | 报错 |
'rb+' | 以二进制格式打开一个文件用于读写,写入内容为bytes | True | 覆盖 | 报错 |
'w' | 写 | False | 覆盖 | 按照文件名新建文件 |
'wb' | 以二进制格式打开一个文件用于写,写入内容为bytes | False | 覆盖 | 按照文件名新建文件 |
'w+' | 写,打开文件时会清空文件内容(read不能读到内容) | True | 覆盖 | 按照文件名新建文件 |
'wb+' | 写,以二进制格式打开一个文件用于写,写入内容为bytes(read不能读到内容) | True | 覆盖 | 按照文件名新建文件 |
'x' | 创建一个新的文件,若该文件已经存在,则返回错误 | False | 新建内容 | 按照文件名新建文件 |
'a' | 写,若文件已有内容,则追加到末尾 | False | 追加 | 按照文件名新建文件 |
'a+' | 写,打开文件时会清空文件(read不能读到内容) | True | 追加 | 按照文件名新建文件 |
'ab' | 写,以二进制模式进行写入 | False | 追加 | 按照文件名新建文件 |
'ab+' | 写,以二进制模式进行写入,打开文件时会清空文件(read不能读到内容) | True | 追加 | 按照文件名新建文件 |
'b' | 二进制模式(不单独使用) | \ | \ | \ |
't' | 文本模式(默认)(不单独使用) | \ | \ | \ |
'+' | 打开文件用作更新,也就是读和写(不单独使用) | \ | \ | \ |
'U' | 通用换行模式(已经被弃用) | \ | \ | \ |
errors:用来处理encoding和decoding的错误
参数 | 作用 |
'strict' | 如果encoding错误则抛出ValueError(此为默认) |
'ignore' | 忽略所有错误(这种情况可能会导致数据丢失) |
'replace' | 用特定符号替换畸形数据 |
'surrogateescape' | 当数据在从Unicode专用区中时(范围从U + DC80到U + DCFF)会报错,同时会将该数据写入文件中。这对于处理未知编码的文件很有用。 |
'xmlcharrefreplace' | is only supported when writing to a file. Characters not supported by the encoding are replaced with the appropriate XML character reference nnn;. |
'backslashreplace' | replaces malformed data by Python’s backslashed escape sequences. |
'namereplace' | (also only supported when writing) replaces unsupported characters with \N{...} escape sequences. |
newline:用来指定怎么进行换行
参数 | 作用 |
None | 待续 |
'' | 待续 |
'\n' | 待续 |
'\r' | 待续 |
'\r\n' | 待续 |