Ошибка Namedtuple [закрыто]
Я пытаюсь сериализовать объект Python в JSON с помощью namedtuple. Но я понимаю эту ошибку. Google не помогает.
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)
1 ответ:
Здесь Ссылка на документацию для namedtuple. Вы не инициализируете его должным образом.
Как я предполагаю, вы должны инициализировать его:
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')
Также, вы, возможно, захотите, чтобы прочитать это Вопрос, который рассказывает о namedtuples сериализации в JSON.