2025-03-04
编程
00
请注意,本文编写于 55 天前,最后修改于 54 天前,其中某些信息可能已经过时。

目录

基本语法
基本用法
1. 读取文件
2. 写入文件
3. 读写二进制文件
其他参数
错误处理

open() 是 Python 内置的一个函数,用于打开文件并返回一个文件对象。这个函数非常灵活,支持多种模式来控制文件的打开方式(如只读、写入等)。

基本语法

python
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • file:要打开的文件路径(相对路径或绝对路径)。
  • mode:指定打开文件的模式,默认是 'r'(只读)。常用的模式包括:
    • 'r':只读(默认)。文件必须存在。
    • 'w':写入。如果文件已存在,则覆盖;如果不存在,则创建新文件。
    • 'a':追加。如果文件存在,在文件末尾追加内容;如果不存在,则创建新文件。
    • 'x':独占创建。如果文件已存在则失败。
    • 'b':二进制模式(与上述模式结合使用,如 'rb''wb')。
    • 't':文本模式(默认)。
    • '+':更新(读写)模式。

基本用法

1. 读取文件

python
# 使用 with 语句自动管理文件关闭 with open('example.txt', 'r') as file: content = file.read() print(content)

如果你想逐行读取文件:

python
with open('example.txt', 'r') as file: for line in file: print(line.strip()) # 使用 strip() 去除行末换行符

2. 写入文件

python
# 写入字符串到文件 with open('example.txt', 'w') as file: file.write("Hello, World!\n") # 追加内容到文件 with open('example.txt', 'a') as file: file.write("Appending more text.\n")

3. 读写二进制文件

python
# 写入二进制数据 with open('example.bin', 'wb') as file: file.write(b'\x00\x01\x02\x03') # 读取二进制数据 with open('example.bin', 'rb') as file: data = file.read() print(data) # 输出: b'\x00\x01\x02\x03'

其他参数

  • buffering:设置缓冲策略。通常不需要手动设置,除非有特殊需求。
  • encoding:指定编码格式(仅在文本模式下有效),例如 'utf-8'
  • errors:指定如何处理编码和解码错误,常见的值有 'strict', 'ignore', 'replace' 等。
  • newline:控制换行符的行为,主要用于文本模式下的读写操作。

错误处理

当处理文件时,可能会遇到各种异常情况,比如文件不存在、权限不足等。使用 try-except 结构可以帮助你优雅地处理这些异常:

python
try: with open('non_existent_file.txt', 'r') as file: content = file.read() except FileNotFoundError: print("File not found.") except IOError as e: print(f"An error occurred: {e}")