hangkk2008

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在一个2c4g的服务器上如何用python操作8GB的超大文件(老叶)

1、使用with open的方式,for line in f文件对象f视为一个迭代器,会自动的采用缓冲IO和内存管理,并且能够自动关闭文件,推荐该方式
举例:
with open('filename') as f:
for line in f:
do_things(line)

2、open file的方式,可以通过read(size)指定每次读取的大小,将大文件切割成小文件来读取,每次处理完小块即释放内存
举例:
f = open(filePath)
while True:
content = f.read(chunk_size)
do_things(content)

3、linecache模块,可以指定读取文件某一行
举例:
content = linecache.getline('filename', linenum)
do_things(content)

posted on 2019-04-17 22:06  鱼儿也疯狂  阅读(361)  评论(0)    收藏  举报