Zuletzt aktiv 10 months ago

這段 Python 程式碼使用 策略模式(Strategy Pattern),定義一個 DataHandlerStrategy 介面,並實作 YAML (YamlHandler) 與 JSON (JsonHandler) 兩種不同的資料處理策略。它提供統一的 read_data 和 write_data 方法,讓程式可以根據不同的檔案格式 靈活讀取與寫入 YAML 或 JSON 檔案,適用於 配置管理、資料序列化或跨格式資料處理應用。

timmy hat die Gist bearbeitet 10 months ago. Zu Änderung gehen

Keine Änderungen

timmy hat die Gist bearbeitet 10 months ago. Zu Änderung gehen

Keine Änderungen

timmy hat die Gist bearbeitet 10 months ago. Zu Änderung gehen

Keine Änderungen

timmy hat die Gist bearbeitet 1 year ago. Zu Änderung gehen

1 file changed, 35 insertions

data_handler.py(Datei erstellt)

@@ -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)
Neuer Älter