HFST - Helsinki Finite-State Transducer Technology - Python API  version 3.12.1
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | List of all members
HfstOutputStream Class Reference

A stream for writing binary transducers. More...

Public Member Functions

def __init__
 Open a stream for writing binary transducers. More...
 
def close
 Close the stream. More...
 
def flush
 Flush the stream. More...
 
def write
 Write the transducer transducer in binary format to the stream. More...
 

Detailed Description

A stream for writing binary transducers.

An example:

 res = ['foo:bar','0','0 - 0','"?":?','a* b+']
 ostr = hfst.HfstOutputStream(filename='testfile1.hfst')
 for re in res:
     ostr.write(hfst.regex(re))
     ostr.flush()
 ostr.close()

For more information on HFST transducer structure, see this page.

Constructor & Destructor Documentation

def __init__ (   self,
  kwargs 
)

Open a stream for writing binary transducers.

Parameters
kwargsArguments recognized are filename, hfst_format, type.
filenameThe name of the file where transducers are written. If the file exists, it is overwritten. If filename is not given, transducers are written to standard output.
hfst_formatWhether transducers are written in hfst format (default is True) or as such in their backend format.
typeThe type of the transducers that will be written to the stream. Default is hfst.get_default_fst_type().
 ostr = hfst.HfstOutputStream()  # a stream for writing default type transducers in hfst format to standard output
 transducer = hfst.regex('foo:bar::0.5')
 ostr.write(transducer)
 ostr.flush()
 ostr = hfst.HfstOutputStream(filename='transducer.sfst', hfst_format=False, type=hfst.ImplementationType.SFST_TYPE)  # a stream for writing SFST_TYPE transducers in their back-end format to a file
 transducer1 = hfst.regex('foo:bar')
 transducer1.convert(hfst.ImplementationType.SFST_TYPE)  # if not set as the default type
 transducer2 = hfst.regex('bar:baz')
 transducer2.convert(hfst.ImplementationType.SFST_TYPE)  # if not set as the default type
 ostr.write(transducer1)
 ostr.write(transducer2)
 ostr.flush()
 ostr.close()

Member Function Documentation

def close (   self)

Close the stream.

If the stream points to standard output, nothing is done.

def flush (   self)

Flush the stream.

def write (   self,
  transducer 
)

Write the transducer transducer in binary format to the stream.

All transducers must have the same type as the stream, else a TransducerTypeMismatchException is thrown.

Exceptions
hfst.exceptions.TransducerTypeMismatchException

The documentation for this class was generated from the following file: