我试图在一个文件上运行Acora解析,该文件在纯文本文件上按预期工作。当我尝试使用python gzip模块(应该允许透明读取压缩文件)在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
请告诉我这是否是我遗失的内容。
答案 0 :(得分:0)
我认为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'))