跳到主要内容

Python open() 函数

open() 函数的语法是:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

open() 参数

  • file - 路径类对象(代表文件系统路径)
  • mode (可选)- 打开文件时的模式。如果未提供,默认为 'r'(以文本模式读取)。可用的文件模式包括:
模式描述
'r'打开文件进行读取。(默认)
'w'打开文件进行写入。如果文件不存在则创建,如果存在则截断。
'x'专用创建模式。如果文件已存在,操作失败。
'a'在文件末尾追加,不截断文件。如果文件不存在则创建。
't'以文本模式打开。(默认)
'b'以二进制模式打开。
'+'打开文件进行更新(读写)。
  • buffering (可选)- 用于设置缓冲策略
  • encoding (可选)- 编码格式
  • errors (可选)- 指定如何处理编码/解码错误的字符串
  • newline​ (可选)- 换行模式的工作方式(可用值:None' ''\n''\r',和 '\r\n'
  • closefd (可选)- 必须为 True(默认);如果给出其他值,则会引发异常
  • opener (可选)- 自定义打开器;必须返回一个打开的文件描述符

open() 的返回值

open() 函数返回一个文件对象,可以用来读取、写入和修改文件。

如果找不到文件,它会引发 FileNotFoundError 异常。

示例 1:如何在 Python 中打开文件?

# 打开当前目录的 test.text 文件
f = open("test.txt")

# 指定完整路径
f = open("C:/Python33/README.txt")

由于省略了模式,文件以 'r' 模式打开;用于读取。

示例 2:提供模式给 open()

# 以读取模式打开文件
f = open("path_to_file", mode='r')

# 以写入模式打开文件
f = open("path_to_file", mode = 'w')

# 打开以追加到末尾的文件
f = open("path_to_file", mode = 'a')

Python 的默认编码是 ASCII。你可以通过传递 encoding 参数轻松更改它。

f = open("path_to_file", mode = 'r', encoding='utf-8')

推荐阅读:Python 文件输入/输出