我有一个元组列表,其中元组是字符串格式
data_list = ["('https://www.test.org/', 'testing', 'test1', 'test1')", "('https://testing2.com/', 'testing', 'test2', 'test2')"]
要将其转换为元组列表,我使用以下代码
for val in data_list:
valx = ast.literal_eval(val)
但过一段时间,我会得到带有Undefined
参数的元组列表,如下所示。
["('https://www.test.org/', 'testing', Undefined, Undefined)", "('https://testing.com/', 'testing', Undefined, Undefined)"]
在这种情况下,使用上述代码将给出以下错误
flask | raise ValueError(f'malformed node or string: {node!r}')
flask | ValueError: malformed node or string: <_ast.Name object at 0x7fab4d78ab80>
我不知道如何处理这个错误。在Undefined
的位置,一个空字符串就足够了。
用None
替换它怎么样?(在我使用eval而不是ast.literal_eval:的示例中
data_list = ["('https://www.test.org/', 'testing', Undefined, 'test1')", "('https://testing2.com/', 'testing', 'test2', 'test2')"]
for val in data_list:
val = val.replace('Undefined', 'None')
valx = eval(val)
print(valx)
您可能希望使用正则表达式来区分Undefined
和'Undefined'
(字符串(