加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

用于列出ast.listeral_eval的python字符串列表

发布时间:2020-12-20 12:19:59 所属栏目:Python 来源:网络整理
导读:import ast string = '[Small,Medium,Large,X-Large]' print string[Small,X-Large] string = ast.literal_eval(string)Traceback (most recent call last): File "pyshell#26",line 1,in module string = ast.literal_eval(string) File "C:Python27liba
>>> import ast
>>> string = '[Small,Medium,Large,X-Large]'
>>> print string
[Small,X-Large]
>>> string = ast.literal_eval(string)
Traceback (most recent call last):  
    File "<pyshell#26>",line 1,in <module>
         string = ast.literal_eval(string)
    File "C:Python27libast.py",line 80,in literal_eval
        return _convert(node_or_string)
    File "C:Python27libast.py",line 60,in _convert
        return list(map(_convert,node.elts))
  File "C:Python27libast.py",line 79,in _convert
    raise ValueError('malformed string')
ValueError: malformed string

怎么修?

解决方法

ast.literal_eval()只接受包含有效Python文字结构的字符串(字符串,数字,元组,列表,字符串,布尔值和无).

这是一个有效的Python表达式,只包含那些文字结构:

["Small","Medium","Large","X-Large"]

这不是:

[Small,X-Large]

有两种方法可以创建一个有效的字符串:

string = '["Small","X-Large"]'
string = "['Small','Medium','Large','X-Large']"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读