在处理大规模文件时,很容易遇到内存不足等问题,因此需要使用流(stream)来逐行读取和写入文件。
以下是一些使用Python 3的示例代码来读取和写入大文件:
读取大文件:
with open('large_file.txt', 'r') as file: for line in file: # 处理每一行的代码
写入大文件:
with open('large_file.txt', 'w') as file: for i in range(100000000): # 写入1亿行 file.write('line {}\n'.format(i))
此外,可以使用Python库中的模块,例如filechunkio模块,将大文件分成较小的块来读取和写入。这种方法可以减少内存的使用,而且速度更快。
import filechunkio
with open('large_file.txt', 'r') as file: for chunk in filechunkio.FileChunkIO(file, 'r', chunk_size=1024*1024): # 对每个分块进行处理的代码块
with open('large_file.txt', 'w') as file: for i in range(100000000): chunk = 'line {}\n'.format(i) file.write(chunk)