YAML文件
YAML 是一種可讀性非常高,與程序語言數據結構非常接近。同時具備豐富的表達能力和可擴展性,並且易於使用的數據標記語言。
基本語法規則:
- 大小寫敏感
- 使用縮進表示層級關係
- 不允許使用 TAB 鍵來縮進,只允許使用空格鍵來縮進
- 縮進的空格數量不重要
- 使用"#"來表示註釋
具體實現
mysql:
db: test
host: 127.0.0.1
passwd: storage
port: 3306
user: root
class YamlReader:
def __init__(self, filename):
if os.path.exists(Path().get_config_path(filename)):
self.yaml_file = Path().get_config_path(filename)
else:
raise FileNotFoundError("配置文件不存在")
self._data = None
@property
def data(self):
if not self._data:
with open(self.yaml_file,'rb') as f:
self._data = list(yaml.safe_load_all(f))
return self._data
def get_data(self,element):
return self.data[0].get(element)
def set_data(self,key,value):
data = self.data[0]
data[key]=value
with open(self.yaml_file,'w') as f:
yaml.dump(data,f)