Параметры отправки 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().)

0 ответов

Другие вопросы по тегам