[英]python - Update value of a dict
以下代碼從 YAML 文件中讀取,並轉換為鍵值對。 將字典保存到“config”變量中。
要做 - 將“key4”的“name”字段從“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
測試.yaml -
key1:
key2:
key3:
name: Name1
address: Add1
key4:
name: Name2
address: Add2
setdefault 似乎不起作用。
更新此值的正確方法是什么?
您可以設置一個新值
config['key1']['key2']['key4']['name'] = 'newName'
前提是所有這些鍵都存在於字典中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.