我需要在dict对象中获取“结果”,我循环并获取以下格式的键和值,我已在变量“opp”中定义。
我需要的是我想将数据(即来自opp)存储到dict中。我怎么能这样做?
这是我的代码:
for service, svc_limits in result.items():
for limit_name, limit in svc_limits.items():
for warn in limit.get_warnings():
opp = ("'{service}/'{limit_name}'': '[{u}]'".format(
service=service,limit_name=limit_name,u=str(warn))
)
我的示例输出:
{"contact": {"permanentnumber":"sample123","tempnum":"jki345"}}
从那以后,我输出
contact/permanentnumber:sample123
contact/tempnum:jki345
并将其作为单独的字符串数据类型。
我需要以字典格式存储这组字符串,使用dump在YAML文件中写入但它不起作用。只有一组值写入文件。我需要将这两个值存储在新文件中。
opp = ("'{service}/'{limit_name}'': '[{u}]'".format(
service=service,
limit_name=limit_name,
u=str(warn)
)
)
samp = {opp}
它只返回我设置的dtatype,但我需要的是字典。
set(["'Contact/'permanentnumber'': '[4]'"]) <type 'set'>
set(["'Contact/'temporarynum' ': '[4]'"]) <type 'set'>
我该如何处理?
答案 0 :(得分:0)
在Python中,如果a
是变量,那么你可以:
x = {a}
然后x
将是一个包含一个元素的集合。如果您希望x为dict
,请执行:
x = {'somekey': a}
或:
x = dict(somekey=a)
用作somekey
的内容取决于您的应用,但将{"contact": {"permanentnumber":"sample123","tempnum":"jki345"}}
转换为:
contact/permanentnumber: sample123
contact/tempnum: jki345
做
import sys
import ruamel.yaml
result = {"contact": {"permanentnumber":"sample123","tempnum":"jki345"}}
opp = {}
for service, svc_limits in result.items():
for limit_name, limit in svc_limits.items():
opp["{service}/{limit_name}".format(service=service, limit_name=limit_name)] = \
"{u!s}".format(u=limit)
ruamel.yaml.round_trip_dump(opp, sys.stdout)
为您提供YAML输出:
contact/tempnum: jki345
contact/permanentnumber: sample123