尝试使用ast.literal_eval或json.loads解析列表的字符串表示形式不起作用

时间:2018-08-21 19:55:14

标签: python string python-2.7

我有一个字符串格式的列表列表:

arg = '[[ABC, DEF], 10.10.10.10, 12345]'

我喜欢将其转换为字符串对象列表,如下所示: ['[ABC, DEF]', '10.10.10.10', '12345']

我尝试使用ast.literal_eval(arg)json.loads(arg)转换为列表类型的python对象,但是由于我的“ arg”由无法求值的字符串组成,因此这两种方法均会引发错误。

有没有更简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:9)

这看起来像是字符串化的YAML。

>>> import yaml
>>> yaml.safe_load('[[ABC, DEF], 10.10.10.10, 12345]')
[['ABC', 'DEF'], '10.10.10.10', 12345]

PyYAML Documentation.