Следующий код читает из файла YAML и преобразует в пару ключ-значение. Сохранение словаря в переменную «config».
To do - обновить поле «name» для «key4» с «Name2» до «newName».
from yaml import load as yload, YAMLError, SafeLoader
YAML_FILE = "test.yaml"
def toTest():
fp = getFile(path.dirname(__file__), YAML_FILE)
config = yload(fp.read(), Loader=SafeLoader)
config.setdefault(conf.get("key1").get("key2").get("key4").get("name"), "newName")
def getFile(filepath, filename) -> TextIO:
filepathR = open("%(path)s/%(filename)s" % {
"path": filepath,
"filename": filename
}
return filepathR
test.yaml -
key1:
key2:
key3:
name: Name1
address: Add1
key4:
name: Name2
address: Add2
setdefault, похоже, не работает.
Как правильно обновить это значение?