Параметры отправки HFST-поиска в Python API похожи на CLI
У меня есть рабочая команда CLI для использования сгенерированного преобразователя:
hfst-lookup --cascade=composition --xfst=print-pairs --pipe-mode -t 2 stuff.hfstol
Из документации я понял следующее:
import libhfst
istr = libhfst.HfstInputStream('stuff.hfstol')
transducers = []
while not (istr.is_eof()):
transducers.append(istr.read())
istr.close()
print("Read %i transducers in total." % len(transducers))
fst0, fst1 = transducers
res = fst1.lookup(word)
Это дает странный вывод, который отличается от вывода поиска CLI (без каких-либо опций), разница может быть устранена путем re.sub(word, '@[^@]*@', '')
чтобы получить тот же вывод по умолчанию.
Вопрос в том, как отправить параметры --cascade=composition --xfst=print-pairs -t 2
в коде Python, чтобы обеспечить тот же вывод, что и в CLI с Python API? (Конечно, исключая метод вызова программы CLI с функцией subprocess.comunicate().)