将看起来像列表的字符串转换为实际列表

时间:2016-11-09 23:43:45

标签: python

我有一个来自文件的字符串:

[u'Some string']

我在python脚本中将其作为字符串读取,我需要将其转换回列表。这看起来像一个可怕的想法,但到目前为止eval似乎工作正常:

>>> eval("[u'Some string']")
[u'Some string']
>>> type(eval("[u'Some string']"))
<type 'list'>

但这似乎是一个非常可怕的想法。任何方式优雅地做到这一点?

1 个答案:

答案 0 :(得分:3)

eval不安全。但是,只需使用ast.literal_eval

即可
>>> import ast
>>> s = "[u'Some string']"
>>> ast.literal_eval(s)
[u'Some string']
>>> 

这是安全的。