Namedtuple error
我正在尝试使用NamedDuple将Python对象序列化为JSON。但我得到了这个错误。谷歌没有帮助。
1 2 3 4 5 6 7 8 | Traceback (most recent call last): File"cpu2.py", line 28, in <module> cpuInfo = collections.namedtuple('cpuStats',('cpu.usr', ('str(currentTime) +"" +str(cpuStats[0]) +" host="+ thisClient')), ('cpu.nice', ('str(currentTime) +"" +str(cpuStats[1]) +" host="+ thisClient')), ('cpu.sys',('str(currentTime) +"" +str(cpuStats[2]) +" host="+ thisClient')), ('cpu.idle',('str(currentTime) +"" +str(cpuStats[3]) +" host="+ thisClient'))) TypeError: namedtuple() takes at most 4 arguments (5 given) |
这里有一个指向NamedDuple文档的链接。您没有正确初始化它。
我猜你应该如何初始化它:
1 2 3 4 5 6 7 8 | cpuInfo = collections.namedtuple('cpuStats', ['usr', 'nice', 'sys', 'idle']) # In this case, usr=str(currentTime) +"" +str(cpuStats[0]) +" host=" + thisClient # You can figure the rest out... info = cpuInfo(usr='fill', nice='this', sys='your', idle='self') |
另外,您可能想阅读这个问题,它讨论如何在JSON中序列化NamedDuples。