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 的一个基本介绍,涵盖了最常用的操作。在实际编程中,还可能会涉及更复杂的文件处理,如文件的编码问题、大文件处理、文件路径操作等。