Python 文件 IO 操作详解
1、文件 IO 常用操作
2、文件打开操作
2.1 打开命令
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
f = open('c:/users/jiao1/test.txt')
print(f)
Out:
<_io.TextIOWrapper name='c:/users/jiao1/test.txt' mode='r' encoding='cp65001'>
# windows 11 Python Jupyter Notebook 环境
# windows 中使用 codepage 代码页,可以认为每一个代码页就是一张编码表
# windows 11 默认使用的编码表是 cp65001
# windows 10 默认使用的编码表是 cp936,等同于 GBK
# Linux 中默认使用的是 utf-8
2.2 命令参数
2.2.1 路径
可以使用绝对路径和相对路径,默认是当前路径。
2.2.2 mode
-
r 模式
只读打开文件,如果使用 write 方法,会抛异常 如果文件不存在,抛出 FileNotFoundError 异常
-
w 模式
表示只写方式打开,如果读取则抛出异常 如果文件不存在,则直接创建文件 如果文件存在,则清空文件内容
-
x 模式
文件不存在,创建文件,并只写方式打开 文件存在,抛出 FileExistsError 异常
-
a 模式
文件存在,只写打开,追加内容 文件不存在,则创建后,只写打开,追加内容
-
文本模式 t
字符流,将文件的字节按照某种字符编码理解,按照字符操作。open 的默认 mode 就是 rt
-
二进制模式 b
字节流,将文件就按照字节理解,与字符编码无关。二进制模式操作时,字节操作使用 bytes 类型
-
+ 模式
为 r w a x 提供缺失的读或者写功能,但是,获取文件对象依旧按照 r w a x 自己的特征
+ 模式不能单独使用,可以认为它时为前面的模式字符做增强功能的