diff --git a/bob/bio/base/tools/scoring.py b/bob/bio/base/tools/scoring.py index a30266092037fcd68963f6d49585cf880a431507..7e1d990473ac44fd006e1dfb7002297d2ec46fbd 100644 --- a/bob/bio/base/tools/scoring.py +++ b/bob/bio/base/tools/scoring.py @@ -65,6 +65,14 @@ def _open_to_write(score_file, write_compressed): return f +def _write(f, data, write_compressed): + """Writes the given data to file, after converting it to the required type.""" + if write_compressed: + if sys.version_info[0] <= 2: + data = str.encode(data) + + f.write(data) + def _close_written(score_file, f, write_compressed): """Closes the file f that was opened with :py:func:`_open_to_read`""" if write_compressed: @@ -87,7 +95,7 @@ def _save_scores(score_file, scores, probe_objects, client_id, write_compressed= # write scores in four-column format as string for i, probe_object in enumerate(probe_objects): - f.write("%s %s %s %3.8f\n" % (str(client_id), str(probe_object.client_id), str(probe_object.path), scores[0,i])) + _write(f, "%s %s %s %3.8f\n" % (str(client_id), str(probe_object.client_id), str(probe_object.path), scores[0,i]), write_compressed) _close_written(score_file, f, write_compressed)