timmy gist felülvizsgálása 10 months ago. Revízióhoz ugrás
Nincsenek változtatások
timmy gist felülvizsgálása 10 months ago. Revízióhoz ugrás
Nincsenek változtatások
timmy gist felülvizsgálása 10 months ago. Revízióhoz ugrás
Nincsenek változtatások
timmy gist felülvizsgálása 1 year ago. Revízióhoz ugrás
1 file changed, 35 insertions
data_handler.py(fájl létrehozva)
| @@ -0,0 +1,35 @@ | |||
| 1 | + | import yaml | |
| 2 | + | import json | |
| 3 | + | from abc import ABC, abstractmethod | |
| 4 | + | ||
| 5 | + | # 策略介面 | |
| 6 | + | class DataHandlerStrategy(ABC): | |
| 7 | + | @abstractmethod | |
| 8 | + | def read_data(self, path): | |
| 9 | + | pass | |
| 10 | + | ||
| 11 | + | @abstractmethod | |
| 12 | + | def write_data(self, path, data): | |
| 13 | + | pass | |
| 14 | + | ||
| 15 | + | ||
| 16 | + | # YAML 策略 | |
| 17 | + | class YamlHandler(DataHandlerStrategy): | |
| 18 | + | def read_data(self, path): | |
| 19 | + | with open(path, "r") as f: | |
| 20 | + | return yaml.safe_load(f) | |
| 21 | + | ||
| 22 | + | def write_data(self, path, data): | |
| 23 | + | with open(path, "w") as f: | |
| 24 | + | yaml.safe_dump(data, f) | |
| 25 | + | ||
| 26 | + | ||
| 27 | + | # JSON 策略 | |
| 28 | + | class JsonHandler(DataHandlerStrategy): | |
| 29 | + | def read_data(self, path): | |
| 30 | + | with open(path, "r") as f: | |
| 31 | + | return json.load(f) | |
| 32 | + | ||
| 33 | + | def write_data(self, path, data): | |
| 34 | + | with open(path, "w") as f: | |
| 35 | + | json.dump(data, f, ensure_ascii=False, indent=4) | |