from pathlib import Path def parse_datafile(data_file: Path, output_format: str) -> str | list: with open(data_file, 'r', encoding="utf-8") as data_file: match output_format: case 'string': return data_file.read().strip() case 'list': return data_file.read().strip().splitlines() case 'int_list': return [int(line) for line in data_file.read().strip().splitlines()] return [] def data_as_string(data_file: Path) -> str: with open(data_file) as file: return file.read().strip() def data_as_list(data_file: Path) -> list: return [line for line in data_as_string(data_file).strip()] def data_as_int_list(data_file: Path) -> list: return [int(line) for line in data_as_string(data_file).strip()]