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)