Python打开文件的 r、r+、w、w+、a、a+操作方式

我请问一下,Python打开文件的 r、r+、w、w+、a、a+操作方式
最新回答
风铃鹿

2026-10-23 05:37:46

Python 文件操作模式详解如下:

  • r(只读):以只读方式打开文件,文件必须存在。若文件不存在,会抛出 FileNotFoundError 异常。
  • r+(读写):以读写方式打开文件,文件必须存在。可读取也可写入,写入时从文件开头开始,会覆盖原有内容。
  • w(只写):以只写方式打开文件。若文件存在,内容会被清空;若文件不存在,则创建新文件。
  • w+(读写):以读写方式打开文件。若文件存在,内容会被清空;若文件不存在,则创建新文件。
  • a(追加只写):以追加方式打开文件。若文件存在,写入的数据会添加到文件末尾;若文件不存在,则创建新文件。
  • a+(追加读写):以读写方式打开文件。若文件存在,写入的数据会添加到文件末尾;若文件不存在,则创建新文件。
  • wb(二进制只写):以二进制格式打开文件用于只写。若文件存在,内容会被清空;若文件不存在,则创建新文件。在 Windows 下,使用 rn 作为换行符。
  • rb(二进制只读):以二进制格式打开文件用于只读。读取时保留原始换行符(如 rn)。

示例代码解析:

  1. 写入 JSON 数据:

    使用 json.dumps() 将字典列表转换为 JSON 字符串,并通过 file.write() 写入文件。

    使用 json.dump() 直接将字典列表写入文件。

  2. 读取 JSON 数据:

    使用 json.load() 从文件中读取 JSON 数据并解析为 Python 对象。

    使用 json.loads() 从字符串中解析 JSON 数据。

  3. JSONPath 使用:

    使用 jsonpath.jsonpath() 从 JSON 对象中提取特定字段(如 name)。

注意事项:

  • 使用 with 语句可以确保文件在使用后正确关闭。
  • 在 Windows 下,二进制模式(如 wb)和文本模式(如 w)的换行符处理有所不同。
  • 确保文件路径正确,避免因路径问题导致文件操作失败。