Python:使用os.fork更好的文件I / 0?
发布时间:2020-12-20 11:13:09 所属栏目:Python 来源:网络整理
导读:我的问题很简单:我有一个400MB的文件,里面有10,000,000行数据.我需要遍历每一行,做一些事情,并从内存中删除该行,以避免填充太多RAM. 由于我的机器有多个处理器,我最初的想法是优化这个过程是为了创建两个不同的过程.人们可以一次读取几行文件并逐渐填充一个
我的问题很简单:我有一个400MB的文件,里面有10,000,000行数据.我需要遍历每一行,做一些事情,并从内存中删除该行,以避免填充太多RAM.
由于我的机器有多个处理器,我最初的想法是优化这个过程是为了创建两个不同的过程.人们可以一次读取几行文件并逐渐填充一个列表(列表中的一个元素是文件中的一行).另一个可以访问这个相同的列表,并弹出()元素并处理它们.这将有效地创建一个从一侧增长而从另一侧缩小的列表. 换句话说,这个机制应该实现一个缓冲区,该缓冲区将不断地填充第二个进程来处理的行.但也许这并不比使用更快: for line in open('/data/workfile','r'): 解决方法
您可能受到磁盘速度的限制. Python已经进行了缓冲,因此逐行读取是有效的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |