Python 中的 I/O(输入/输出)主要是指与文件进行操作,包括文件的读取和写入。Python 提供了一系列内置函数和方法来处理文件,使得文件 I/O 操作变得简单易行。

打开文件

在 Python 中,可以使用 open() 函数来打开一个文件:

file = open('filename.txt', 'r')  # 打开文件用于读取

open() 函数的第一个参数是文件名,第二个参数是模式。常见的模式有:

  • 'r':读取(默认)
  • 'w':写入,并先清空文件
  • 'x':写入,如果文件已存在则失败
  • 'a':写入,如果文件存在则在末尾追加
  • 'b':二进制模式
  • 't':文本模式(默认)
  • '+':更新(读取并写入)

读取文件

文件打开后,可以使用多种方法来读取内容:

content = file.read()      # 读取整个文件
print(content)

first_line = file.readline()  # 读取第一行
print(first_line)

lines = file.readlines()     # 读取所有行到一个列表中
for line in lines:
    print(line, end='')

写入文件

写入文件也很直观:

file = open('filename.txt', 'w')  # 打开文件用于写入
file.write('Hello, world!')       # 写入字符串
file.writelines(['Hello\n', 'World\n'])  # 写入一个字符串列表

关闭文件

完成文件操作后,应该使用 close() 方法来关闭文件,以释放系统资源:

file.close()

使用 with 语句

为了确保文件被正确关闭,通常会使用 with 语句来管理文件对象。这种方式可以自动处理文件的打开和关闭,即使发生错误也能保证文件关闭:

with open('filename.txt', 'r') as file:
    content = file.read()
    print(content)
# 文件在此时已经被关闭

处理二进制文件

当处理二进制文件(如图片或者视频文件)时,需要在模式中添加 'b'

with open('image.png', 'rb') as file:
    content = file.read()
    # 对二进制数据进行处理

错误处理

在进行文件操作时,可能会遇到各种错误,如文件不存在、没有权限等。通常会使用异常处理结构来处理这些潜在的错误:

try:
    with open('filename.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print('文件未找到')
except IOError:
    print('IO 错误')

以上是 Python 文件 I/O 的一个基本介绍,涵盖了最常用的操作。在实际编程中,还可能会涉及更复杂的文件处理,如文件的编码问题、大文件处理、文件路径操作等。