我试图使用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
发布于 2015-02-26 00:16:47
您不能给一个类型命名Zabbix.Request,因为这是无效的语法(例如,class Zabbix.Request:)。因此,您也不能创建具有该名称的namedtuple。
修改后的代码不等同于第一个代码示例:您现在正在创建一个以namedtuple作为名称的Request。这是允许的,因为Request将是类型的有效标识符。
https://stackoverflow.com/questions/28730813
复制相似问题