您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在不将其全部读入内存的情况下对整个文件进行重新搜索或重新匹配?

如何在不将其全部读入内存的情况下对整个文件进行重新搜索或重新匹配?

您可以使用mmap将文件映射到内存。然后可以像普通字符串一样访问文件内容

import re, mmap

with open('/var/log/error.log', 'r+') as f:
  data = mmap.mmap(f.fileno(), 0)
  mo = re.search('error: (.*)', data)
  if mo:
    print "found error", mo.group(1)

这也适用于大文件文件内容根据需要从磁盘内部加载。

其他 2022/1/1 18:45:08 有483人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶