对应的json:
{'haizeiwang': {'cap': 'naluduo', 'doc': 'qiaoba', 'bigteam': [{'aa': 1, 'bb': 2}, {'cc': 3}, {'dd': 4}]}}
**************************************************************************************************************
先安装一个pyyaml库。pip install pyyaml。
准备一个yaml文件:py.yaml
注意箭头所示的地方要有
空格
创建一个要读取yaml文件的py文件read_yaml.py
import yaml
from jsonpath import jsonpath
with open("../config/py.yaml", encoding="utf-8")as f:
data = yaml.load(f.read(), Loader=yaml.FullLoader)
print(data)
# doctor = data["haizeiwang"]["doctor"]
doctor = jsonpath(data, "$..doctor")[0]
print(doctor)
加粗的两个doctor获取方法都可以,下面使用了jsonpath更简便,需要安装后使用:pip install jsonpath
打印data结果为:{'haizeiwang': {'captain': 'lufei', 'doctor': 'qiaoba'}}
打印doctor结果为:qiaoba
至此,已经成功的读取出yaml的数据了。
yaml的写操作:
with open("../config/py.yaml","w",encoding="utf-8")as f:
yaml.dump(data, f)
#此处路径与读取路径相同,会覆盖原本的yaml文件
如果想要修改指定的字段的话:
#读取后修改指定字段,在去写即可
with open("../config/py.yaml",encoding="utf-8") as f:
data = yaml.load(f, yaml.FullLoader)
print(data)
data["haizeiwang"]["captain"] = "naluduo"
print(data["haizeiwang"]["captain"])
with open("../config/py.yaml","w",encoding="utf-8")as f:
yaml.dump(data, f)
先安装一个pyyaml库。pip install pyyaml。准备一个yaml文件:py.yaml注意箭头所示的地方要有空格创建一个要读取yaml文件的py文件read_yaml.pyimport yamlwith open("py.yaml", encoding="utf-8")as f: data = yaml.load(f.read(), Loader=yaml.FullLoader) print(data)打印data结果为:{'haizeiwang.
python 脚本,它负责通过添加新记录来更新我的 yaml 文件:
data = yaml.load(file)
data['WIN']['Machine'] = dict(node_labels='+> tfs vs2022')
data['WIN']['Machine'] = dict(vs='vs2022')
yaml.dump(data, file)
运行上面的脚本时,我都会得到更新的 yaml
with open('example.yaml', 'r') as file:
data = yaml.load(file, Loader=yaml.FullLoader)
print(data)
这里我们使用了Python的with语句打开文件,然后使用yaml.load()函数将文件内容读取到data变量中。
写入YAML文件:
```python
import yaml
data = {'name': 'John', 'age': 30, 'city': 'New York'}
with open('example.yaml', 'w') as file:
yaml.dump(data, file)
这里我们使用了yaml.dump()函数将data变量中的内容写入到example.yaml文件中。
修改YAML文件:
```python
import yaml
with open('example.yaml', 'r') as file:
data = yaml.load(file, Loader=yaml.FullLoader)
data['age'] = 35
with open('example.yaml', 'w') as file:
yaml.dump(data, file)
这里我们首先使用yaml.load()函数将example.yaml文件中的内容读取到data变量中,然后修改了data中的age属性,最后使用yaml.dump()函数将修改后的内容重新写入到example.yaml文件中。
总结一下,使用PyYAML库读写和修改YAML文件非常简单,只需要掌握几个基本函数即可。