| import json | |
| from pathlib import Path | |
| from typing import Union | |
| def json_load(json_pth: Union[Path, str]): | |
| if not isinstance(json_pth, str): | |
| json_pth = str(json_pth) | |
| with open(json_pth) as f: | |
| data = json.load(f) | |
| return data | |
| def json_dump(data, json_pth: Union[Path, str]): | |
| if not isinstance(json_pth, str): | |
| json_pth = str(json_pth) | |
| with open(json_pth, "w") as f: | |
| json.dump(data, f, indent=2) | |
| def read_txt(txt_pth: Union[Path, str]) -> list: | |
| with open(txt_pth) as f: | |
| lines = f.read().split("\n") | |
| return lines[:-1] | |
| def write_txt(data, txt_pth: Union[Path, str]): | |
| with open(txt_pth, "w") as f: | |
| for item in data: | |
| f.write("%s\n" % item) | |