亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
python2.7如何打開大文件
[打印本頁(yè)]
作者:
kellyseeme123
時(shí)間:
2016-04-09 23:26
標(biāo)題:
python2.7如何打開大文件
有一個(gè)2G的文件,我需要進(jìn)行統(tǒng)計(jì)最長(zhǎng)的那行,下面使用了列表解析和生成器,但是發(fā)現(xiàn)都占用了巨大的內(nèi)存,兩者占用的內(nèi)存基本相同,那么有沒(méi)有其他的方法來(lái)節(jié)省內(nèi)存???
import time
start_time = time.time()
lo = max((len(line) for line in open('kel.log') )) #使用生成器
print lo
end_time = time.time()
print end_time-start_time
start_time = time.time()
lo = max([len(line) for line in open('kel.log') ]) #使用列表解析
print lo
end_time = time.time()
print end_time-start_time
作者:
Hadron74
時(shí)間:
2016-04-11 09:43
本帖最后由 Hadron74 于 2016-04-11 11:34 編輯
測(cè)試了map/reduce,你可以試試。
map 返回list不好,可用imap
from itertools import imap
lo = reduce(max, imap(len,open('kel.log")))
復(fù)制代碼
作者:
lolizeppelin
時(shí)間:
2016-04-11 10:48
使用nmap 一截一截的映射
map = mmap.mmap(f.fileno(), length=mmap_len, access = mmap.ACCESS_WRITE, offset=start_len)
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2