# kmf files

## openKmf()

canlib.kvmlib.openKmf(path, device_type=Device.MHYDRA_EXT)

  Open a kmf file from disk

  Parameters

    - path (`str`) – The filepath to the .KMF file (e.g. `"data/kmf/LOG00000.KMF"`).

    - device_type (`Device`) – The type of the memorator that created the .KMF file(s) (defaults to `Device.MHYDRA_EXT`)

  Returns

    `Kmf`

  New in version 1.6.

## Kmf

class canlib.kvmlib.Kmf(handle, ldf_version)

  A kmf file opened with `openKmf`

  The main use of this class is using its `log` attribute, which is a `MountedLog` object (see its documentation for how to use it).

  Also see the base class `KmfSystem` for inherited functionality.

  Variables

    log (`MountedLog`) – Object representing the log of log files within the kmf container-file.

  New in version 1.6.

## KmfSystem

class canlib.kvmlib.KmfSystem(handle)

  The base class of `Kmf` and `Memorator`

  The `Kmf` and `Memorator` classes are very similar, they are different ways of reading log files (`LogFile`) created by a memorator. This class represents the common ground between all ways of accessing log files.

  All subclasses should have a `log` attribute which is an `UnmountedLog` or subclass thereof.

  This class automatically closes its internal handle when garbage collected.

  New in version 1.6.

  class DiskUsage(used, total)
    property total

      Alias for field number 1

    property used

      Alias for field number 0

  close()

    Close the internal handle

    Warning

    Closing invalidates the object.

  property disk_usage

    The disk usage

    Returns

      `namedtuple` – containing

      - `used` (`int`): Used disk space in megabytes.

      - `total` (`int`): Total disk space in megabytes.

    Type

      `namedtuple`