今天直接面对了一个很严重的问题,生成的一个大的字典,如何打开成了一个问题,因此发觉了一下这个问题:
基本原理:通过不断取1024KB为大小的内容,然后通过迭代器yield这个设备读取无限大的内容。
#coding=utf-8import os.pathimport time'''切分成小文件,然后读取'''def read_in_block(filepath): BLOCK_SIZE = 1024 with open(filepath,'r') as f: while True: block = f.read(BLOCK_SIZE) if block: yield block else: returnif __name__ == '__main__': path=os.getcwd() filepath = path + '/pass.txt' start_time = time.time() for i in read_in_block(filepath): PRint i end_time = time.time() print 'Time is ',end_time - start_time新闻热点
疑难解答