gpt4 book ai didi

Python json 在附加 dict 列表时转储语法错误

转载 作者:行者123 更新时间:2023-12-01 05:52:07 26 4
gpt4 key购买 nike

我有两个返回字典列表的函数,我正在尝试获取 json 对其进行编码,当我尝试使用第一个函数执行此操作时它可以工作,但现在我附加第二个函数,其语法错误为“:预期”。我最终将添加总共 7 个函数,每个函数输出一个字典列表。有没有更好的方法来实现这一点?

import dmidecode
import simplejson as json

def get_bios_specs():
BIOSdict = {}
BIOSlist = []
for v in dmidecode.bios().values():
if type(v) == dict and v['dmi_type'] == 0:
BIOSdict["Name"] = str((v['data']['Vendor']))
BIOSdict["Description"] = str((v['data']['Vendor']))
BIOSdict["BuildNumber"] = str((v['data']['Version']))
BIOSdict["SoftwareElementID"] = str((v['data']['BIOS Revision']))
BIOSdict["primaryBIOS"] = "True"

BIOSlist.append(BIOSdict)
return BIOSlist

def get_board_specs():
MOBOdict = {}
MOBOlist = []
for v in dmidecode.baseboard().values():
if type(v) == dict and v['dmi_type'] == 2:
MOBOdict["Manufacturer"] = str(v['data']['Manufacturer'])
MOBOdict["Model"] = str(v['data']['Product Name'])

MOBOlist.append(MOBOdict)
return MOBOlist


def get_json_dumps():
jsonOBJ = json

#Syntax error is here, i can't use comma to continue adding more, nor + to append.
return jsonOBJ.dumps({'HardwareSpec':{'BIOS': get_bios_specs()},{'Motherboard': get_board_specs()}})

最佳答案

在嵌套字典中使用多个项目。

jsonOBJ.dumps({
'HardwareSpec': {
'BIOS': get_bios_specs(),
'Motherboard': get_board_specs()
}
})

如果您想要多个 BIOS 项目或 Motherboard 项目,只需使用列表即可。

...
'HardwareSpec': {
'BIOS': [
get_bios_specs(),
get_uefi_specs()
]
...
}

关于Python json 在附加 dict 列表时转储语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13854100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com