代码思路
- 文件操作:使用
with open
语句打开文件,以确保文件在使用完毕后正确关闭。with
语句会自动处理文件的打开和关闭,包括在发生异常时。
- 异常处理:使用
try - except
块来捕获可能出现的异常,如文件不存在(在写入模式下open
会自动创建文件,一般不会出现此异常,但为了完整性考虑)、磁盘空间不足(IOError
异常可能涵盖此情况)等。
- 性能优化:合理使用缓冲区,
open
函数中的buffering
参数可以设置缓冲区大小。默认情况下,文本文件的缓冲区大小是行缓冲(buffering=1
),对于大量数据写入,可以设置一个较大的缓冲区大小,如buffering=8192
(8KB),这样可以减少磁盘I/O次数,提高写入性能。
代码实现
def write_large_data_to_file(data, file_path):
try:
with open(file_path, 'w', buffering=8192) as file:
for line in data:
file.write(line + '\n')
print(f"Data written to {file_path} successfully.")
except IOError as e:
print(f"An error occurred while writing to the file: {e}")
# 示例数据
large_data = ["line1", "line2", "line3", "line4", "line5"] # 这里只是示例,实际可能从其他地方获取大量数据
write_large_data_to_file(large_data, 'example.txt')