Skip to content

1. 访问模式

  • r(只读模式)
    默认模式,用于读取文件内容,要求文件必须存在,否则会抛出异常FileNotFoundError;
python
file1 = open("一个不存在的文件.txt", "r")
# 报错
  • w(只写模式)
    如果文件存在,则被覆盖;如果不存在,则创建新文件;
python
file2 = open('my_file.txt', 'w', encoding='utf-8', errors='ignore')
file2.write('Hello World, Hello File')
file2.close()
  • a(追加模式)
    以追加的方式打开文件,如果文件存在,文件指针将会放在文件的结尾; 如果文件不存在,则创建新文件进行写入;
python
file3 = open('my_file.txt', 'a')
file3.write('追加内容')
file3.close()

2. 独占创建模式

2.1. 基本概念

独占创建模式的核心特点是:当你尝试以这种模式打开一个文件时,如果指定的文件已经存在, Python 会抛出 FileExistsError 异常; 只有当文件不存在时,才会创建新文件并打开它进行后续操作。

2.2. 使用场景

  • 数据安全:
    在需要确保不会意外覆盖已有文件的场景下非常有用。 例如,在批量生成配置文件时,为了避免误操作覆盖已有的重要配置, 使用独占创建模式可以保证每个新生成的文件都是唯一的。

  • 并发环境:
    在多线程或多进程环境中,多个任务可能同时尝试创建文件。 使用独占创建模式可以避免多个任务同时创建同一个文件而导致的数据冲突问题。