您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将已经看起来像列表的字符串转换为列表?

如何将已经看起来像列表的字符串转换为列表?

使用ast.literal_eval()解释包含了Python文字字符串:

>>> import ast
>>> ast.literal_eval("['11', '20', '0']")
['11', '20', '0']

这样比较安全,因为使用eval()它将拒绝解释任何 文字值的东西:

>>> eval("__import__('sys').version")
'2.7.5 (default, Oct 28 2013, 20:45:48) \n[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)]'
>>> ast.literal_eval("__import__('sys').version")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/mj/Development/Library/buildout.python/parts/opt/lib/python2.7/ast.py", line 80, in literal_eval
    return _convert(node_or_string)
  File "/Users/mj/Development/Library/buildout.python/parts/opt/lib/python2.7/ast.py", line 79, in _convert
    raise ValueError('malformed string')
ValueError: malformed string
其他 2022/1/1 18:37:23 有451人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶