Python: regex用于大文件.简单的方法



我需要在一个文件上运行一个regex匹配,但我面临一个意想不到的问题:文件太大,不能在一次调用中使用read()mmap(),文件对象不支持buffer()接口,regex模块只接受字符串或缓冲区。

是否有简单的方法来做到这一点?

Python mmap模块提供了一种很好的Python友好的内存映射文件的方式。在32位操作系统上,文件的最大大小将被限制在不超过1 GB或2 GB,但在64位操作系统上,您将能够内存映射任意大小的文件(当然,直到存储大小超过264)。

我已经用Python完成了高达30gb的文件(Wikipedia XML转储文件),效果非常好。

最新更新