Python: 将具有unicode of namedtuple 的字符串形式转换为namedtuple

Python: Convert string form with unicode of namedtuple to namedtuple

我有一个 namedtuple 定义如下:

Job = namedtuple("Job", ['name', 'type', 'status', 'ended', 'id', 'baseMetaPath', 'updated', 'archiveUnarchive'])

我在尝试加载的文件中存储了一个命名元组列表。我已将列表分成每个作业对象,但该对象仍然是一个字符串。我想将字符串转换为 namedtuple 对象。字符串如下:

"Job(name=u'MyJob', type=u'datamart', status=u'complete', ended=152717815282, id=u'2001840', baseMetaPath=u'/datamarts/2001546', updated=1527178152000, archiveUnarchive=0)"

注意字符串中的 unicode。

有没有办法直接把这个字符串转成Job namedtuple类型的对象,还是我自己手动过一遍,解析字符串,自己做?

需要使用eval()请按照官方文档https://docs.python.org/3/library/functions.html#eval or https://docs.python.org/3/library/functions.html#exec

x = 1
eval('x+1')

根据您的要求

eval("Job(name=u'MyJob', type=u'datamart', status=u'complete', ended=152717815282, id=u'2001840', baseMetaPath=u'/datamarts/2001546', updated=1527178152000, archiveUnarchive=0")