在 Python 中,文件的读写操作主要通过内置的 open()
函数进行。以下是如何使用 Python 进行文件的读取和写入操作的详细示例。
1. 文件写入操作
写入新文件或覆盖原有文件
# 打开文件进行写入操作(如果文件不存在,会自动创建)
with open('example.txt', 'w') as file:
file.write('Hello, World!\n')
file.write('This is a test file.\n')
print("文件写入完成!")
-
'w'
模式:表示写入模式,如果文件存在,会覆盖文件内容;如果文件不存在,会自动创建新文件。 - 使用
with open()
可以确保文件操作完毕后自动关闭文件。
追加内容到文件
# 追加内容到文件
with open('example.txt', 'a') as file:
file.write('This is an appended line.\n')
print("内容追加完成!")
-
'a'
模式:表示追加模式,文件存在时会在末尾添加内容,文件不存在时会创建新文件。
2. 文件读取操作
读取整个文件内容
# 读取整个文件内容
with open('example.txt', 'r') as file:
content = file.read()
print("文件内容如下:")
print(content)
-
'r'
模式:表示读取模式,如果文件不存在,会抛出FileNotFoundError
错误。
按行读取文件内容
# 按行读取文件
with open('example.txt', 'r') as file:
lines = file.readlines()
print("文件的每一行:")
for line in lines:
print(line.strip()) # strip() 去除每行的换行符
-
readlines()
方法会返回一个列表,每个元素是文件中的一行。
逐行读取文件
# 逐行读取文件
with open('example.txt', 'r') as file:
for line in file:
print(line.strip())
- 直接使用
for
循环遍历文件对象,这样可以逐行读取文件,避免将整个文件内容一次性加载到内存中。
3. 文件关闭
使用 with open()
语句可以自动处理文件的打开和关闭。当 with
语句块结束时,文件会被自动关闭。如果不使用 with open()
,则需要显式调用 file.close()
来关闭文件:
# 手动关闭文件
file = open('example.txt', 'r')
content = file.read()
file.close()
4. 处理文件读取异常
为了确保程序的健壮性,处理文件读取时可能出现的异常非常重要。可以使用 try-except
块来捕获可能的错误:
try:
with open('example.txt', 'r') as file:
content = file.read()
except FileNotFoundError:
print("文件未找到!")
except IOError:
print("读取文件时发生错误!")
5. 文件操作模式
-
'r'
:只读模式,文件必须存在。 -
'w'
:写入模式,如果文件存在会覆盖,不存在则创建。 -
'a'
:追加模式,文件存在则在末尾添加,不存在则创建。 -
'b'
:二进制模式,通常与其他模式一起使用,如'rb'
或'wb'
。 -
'x'
:排他性创建模式,如果文件存在,操作会失败。
总结
Python 提供了非常简洁和强大的文件操作功能,使用 open()
函数可以方便地进行文件的读取、写入和关闭。为了简化文件操作,推荐使用 with open()
,它可以自动管理文件的打开和关闭,避免因文件未关闭而导致的问题。