python – 具有namedtuple()的内部类
作者:互联网
我试图使用collections.namedtuple将字典转换为python对象.
import Zabbix
class Foo:
def bar(self):
collections.namedtuple('Zabbix.Request',['b','c'])
这导致了
ValueError: Type names and field names must be valid identifiers: 'Zabbix.Request'
我的简单修复就是扩展Foo中的内部类
import Zabbix
class Foo:
class Request(Zabbix.Request):
pass
def bar(self):
collections.namedtuple('Request',['b','c'])
有没有更好的办法?目前正在使用python 3.4
解决方法:
你不能给类型命名Zabbix.Request,因为那是无效的语法(例如,类Zabbix.Request :).因此,您也无法创建具有该名称的namedtuple.
您修改的代码不等同于第一个代码示例:您现在正在使用Request as name创建一个namedtuple.这是允许的,因为Request将是类型的有效标识符.
标签:python,python-3-x,data-conversion 来源: https://codeday.me/bug/20190609/1205755.html