Bre*_*zen 4 python data-conversion python-3.x
我试图用collections.namedtuple字典转换为python对象.
import Zabbix
class Foo:
def bar(self):
collections.namedtuple('Zabbix.Request',['b','c'])
Run Code Online (Sandbox Code Playgroud)
这导致了
ValueError: Type names and field names must be valid identifiers: 'Zabbix.Request'
Run Code Online (Sandbox Code Playgroud)
我的简单修复就是扩展Foo中的内部类
import Zabbix
class Foo:
class Request(Zabbix.Request):
pass
def bar(self):
collections.namedtuple('Request',['b','c'])
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?目前正在使用python 3.4
您不能为类型指定名称,Zabbix.Request因为这是无效的语法(例如,class Zabbix.Request:).因此,您也无法namedtuple使用该名称创建.
修改后的代码并不等同于第一个代码示例:你现在创建一个namedtuple与Request姓名.这是允许的,因为它是Request类型的有效标识符.
| 归档时间: |
|
| 查看次数: |
1315 次 |
| 最近记录: |