Acora不能处理gzipopened文件

2024-09-29 21:33:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对一个文件运行Acora解析,它在纯文本文件上也能正常工作。当我尝试使用pythongzip模块在gzip文件上运行它时(应该允许对压缩文件进行透明读取),我没有收到任何回报。这不是一个不将文件倒带到开头的情况,我尝试了用压缩和未压缩的文件从新开始。你知道吗

from acora import AcoraBuilder

f1 = open('input_file.txt', 'r')
ac = AcoraBuilder(tokens).build()
ac.filefindall(f1)  ## Works as expected

import gzip
f2 = gzip.open('input_file.txt.gz', 'r')
ac = AcoraBuilder(tokens).build()
ac.filefindall(f2)  ## Doesn't work, returns no results

如果我遗漏了什么,请告诉我。你知道吗


Tags: 文件importbuildtxtinputopenacfile
1条回答
网友
1楼 · 发布于 2024-09-29 21:33:11

我认为Acora不支持压缩文件。你需要在使用前提取它。你知道吗

from acora import AcoraBuilder
import gzip

with gzip.GzipFile('input_file.txt.gz', 'rb') as fp:
    f2 = fp.read()

ac = AcoraBuilder(tokens).build()
ac.findall(f2)

不管怎样,acora有本地支持在文件中搜索。你知道吗

keywords = ['Import', 'FAQ', 'Acora', 'NotHere'.upper()]

builder = AcoraBuilder([s.encode('ascii') for s in keywords])
ac = builder.build()

found = set(kw for kw, pos in ac.filefind('README.rst'))

相关问题 更多 >

    热门问题