[Python] Error handling with the fitdecode library to read fit files in python

Discussão em 'Python' iniciado por Stack, Maio 2, 2025.

  1. Stack

    Stack Membro Participativo

    I would love to work with my workout recordings (runs, bike rides etc.) in python. To do so, I first need to read the recordings (fit file) into python.

    I am using the fitdecode library which works fine. Now I am trying to specify the parameter that tells the reader how to treat errors within the file.

    The code still looks like this which is pretty much the example given with the documentation.

    import fitdecode
    with fitdecode.FitReader('464491592495955971.fit') as fit:
    for frame in fit:
    # The yielded frame object is of one of the following types:
    # * fitdecode.FitHeader (FIT_FRAME_HEADER)
    # * fitdecode.FitDefinitionMessage (FIT_FRAME_DEFINITION)
    # * fitdecode.FitDataMessage (FIT_FRAME_DATA)
    # * fitdecode.FitCRC (FIT_FRAME_CRC)

    if frame.frame_type == fitdecode.FIT_FRAME_DATA:
    # Here, frame is a FitDataMessage object.
    # A FitDataMessage object contains decoded values that
    # are directly usable in your script logic.
    print(frame.name)


    I am adding the error handling parameter to the reader as explained here.

    The following specifications did not work:

    fitdecode.FitReader('464491592495955971.fit', error_handling=0)
    fitdecode.FitReader('464491592495955971.fit', error_handling='IGNORE')
    fitdecode.FitReader('464491592495955971.fit', error_handling=IGNORE)


    They all return an assertion error like this:

    File ~/Documents/Python/Environment/lib/python3.13/site-packages/fitdecode/reader.py:164, in FitReader.__init__(self, fileish, processor, check_crc, error_handling, keep_raw_chunks, data_bag)
    161 check_crc = CrcCheck.DISABLED
    163 assert isinstance(check_crc, CrcCheck)
    --> 164 assert isinstance(error_handling, ErrorHandling)
    166 # modifiable options (public)
    167 self.check_crc = check_crc


    Can anybody help me with the correct error handling?

    Thanks so much.

    Continue reading...

Compartilhe esta Página