在 Python 中使用文件的关键函数是 open() 函数。
open() 函数有两个参数:文件名和模式。
有四种打开文件的不同方法(模式):
- "r" - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
- "a" - 追加 - 打开供追加的文件,如果不存在则创建该文件。
- "w" - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
- "x" - 创建 - 创建指定的文件,如果文件存在则返回错误。
此外,您可以指定文件是应该作为二进制还是文本模式进行处理。
- "t" - 文本 - 默认值。文本模式。
- "b" - 二进制 - 二进制模式(例如图像)。
语法
此外,您可以指定文件是应该作为二进制还是文本模式进行处理:
以上代码等同于:
因为 "r" (读取)和 "t" (文本)是默认值,所以不需要指定它们。
注释:请确保文件存在,否则您将收到错误消息。
格式1和格式2的区别是格式1需要用.close方法来关闭文件,而格式2使用完后,会自动关闭。
w:表示可写,如果文件不存在先创建文件,再写入数据,如果文件已存在,清空在写入
r:表示只读,读取数据文件必须存在,否则文件崩溃
a:表示追加数据,如果文件不存在,先创建文件,如果文件存在,在原有数据的后面追加写入数据。不支持读操作
r+:读取和写入,文件必须存在,在光标所在位置写,新加内容会覆盖原有内容。
w+:写入和读取,如果没有该文件,则创建,如果有该文件,先把原有数据清空再加入新值。可以用变量.seek(位置)将文件指针放到指定位置
a+:追加写入和读取数据,在文件内容后添加新值。
注意:指针完成写入之后,指针在末尾,再read是读不出来东西的,需要用seek将指针放到开头
wb:以字节方式写入数据,同w,
rb:以字节方式读取数据,同r
ab:以字节方式追加写入数据,同a
用b模式操作的时候需要注意,不能用encoding指定编码
绝对路径和相对路径
相对路径:在当前文件的目录下查找
绝对路径:从根目录开始查找