目录
概念
Python提供了丰富的文件操作功能,可以让你轻松地读取、写入、修改文件内容。以下是一些基本的文件操作示例:
- 打开文件:使用
open()
函数。 - 读取与写入:使用文件对象的
read()
、write()
等方法。 - 关闭文件:使用文件对象的
close()
方法
- 打开文件
使用open()
函数打开文件。这个函数接受两个参数:文件名和模式。
file = open('filename.txt', 'r') # 'r'表示读取模式
常见的模式有:
'r'
:读取模式(默认)'w'
:写入模式,会覆盖已有文件内容'a'
:追加模式,在文件末尾添加内容'x'
:如果文件已存在,使用此模式会报错'b'
:二进制模式(常与其他模式一起使用,如'rb'
或'wb'
)'+'
:表示可以同时读写文件(如'r+'
表示读写模式)
- 读取文件
使用文件对象的read()
方法读取文件内容。这个方法会返回文件中的所有内容。
content = file.read()
print(content)
你也可以使用readline()
方法逐行读取文件,或者使用readlines()
方法读取所有行并返回一个列表。
3. 写入文件
使用文件对象的write()
方法写入内容。注意,在写入模式(‘w’)下,如果文件已存在,它的内容会被新内容覆盖。
file = open('filename.txt', 'w')
file.write('Hello, world!')
file.close() # 记得关闭文件
- 关闭文件
完成文件操作后,使用close()
方法关闭文件。这是一个好习惯,因为它会释放系统资源。
5. 使用上下文管理器
为了更优雅地处理文件,你可以使用Python的上下文管理器(with
语句)。这样,你不需要显式地调用close()
方法,因为当with
块结束时,文件会自动关闭。
with open('filename.txt', 'r') as file:
content = file.read()
print(content)
# 文件在这里会自动关闭
- 其他操作
Python的文件对象还提供了其他方法,如seek()
(移动文件读取/写入的指针位置)、tell()
(返回当前文件指针的位置)、flush()
(刷新输出缓冲区)等。你可以根据需要使用这些方法。
请注意,文件操作可能会引发异常(如文件不存在、没有写入权限等),因此在实际编程中,你可能需要使用try/except
块来处理这些潜在的问题。
当然,我们可以进一步探讨Python文件操作的更多细节和高级用法。
- 遍历文件内容
除了使用read()
、readline()
和readlines()
方法读取文件内容外,你还可以使用循环遍历文件对象,逐行读取内容。
with open('filename.txt', 'r') as file:
for line in file:
print(line, end='') # end='' 避免打印额外的换行符
- 检查文件是否存在
在尝试打开文件之前,你可能想要检查文件是否存在。这可以通过os
模块的path.exists()
函数实现。
import os
if os.path.exists('filename.txt'):
with open('filename.txt', 'r') as file:
content = file.read()
print(content)
else:
print("文件不存在")
- 文件路径操作
os.path
模块提供了许多用于处理文件路径的函数,如连接路径、分割路径、获取文件名和文件扩展名等。
import os
# 连接路径
path = os.path.join('folder'