有没有办法获得python array.array()的视图?

All*_*rge 2 python

我正在生成许多大的"随机"文件(~500MB),其中的内容是重复调用的输出random.randint(...).我想预先分配一个大缓冲区,将long写入该缓冲区,并定期将该缓冲区刷新到磁盘.我目前正在使用,array.array()但我看不到在此缓冲区中创建视图的方法.我需要这样做,以便我可以将有效数据的缓冲区部分输入并将缓冲区hashlib.update(...)的有效部分写入文件.我可以使用切片操作符,但是AFAICT可以创建缓冲区的副本,这不是我想要的.

有没有办法做到这一点,我没有看到?

更新:

我使用numpy作为user42005和hgomersall建议.不幸的是,这并没有给我提供我想要的加速.我的简单的C程序在11s内生成~700MB的数据,而我的python等效使用numpy需要大约700s!很难相信这两者之间的表现差异(我更可能相信我在某处犯了一个天真的错误......)

use*_*005 5

我想你可以使用numpy:http://www.numpy.org- numpy中的基本数组类型至少支持无副本视图.