解析包含反斜杠的字符串以在 Python 中列出

lea*_*ner 2 python string json list python-3.x

我有一个字符串:

str = '[\'RED\', \'GREEN\', \'BLUE\']'
Run Code Online (Sandbox Code Playgroud)

我想将其解析为

list = ['RED','GREEN','BLUE']
Run Code Online (Sandbox Code Playgroud)

但是,我无法这样做。

我尝试使用 json.loads 解析:

json.loads(str)
Run Code Online (Sandbox Code Playgroud)

它给了我:

{JSONDecodeError}Expecting value: line 1 column 2 (char 1)
Run Code Online (Sandbox Code Playgroud)

Ch3*_*teR 5

您可以使用ast.literal_eval. eval在不受信任的字符串上可能很危险。你ast.literal_eval只评估有效的python结构。

import ast
s = '[\'RED\', \'GREEN\', \'BLUE\']'
ast.literal_eval(s)
# ['RED', 'GREEN', 'BLUE']
Run Code Online (Sandbox Code Playgroud)