>> import ast >>> ast.litera-6ren">
gpt4 book ai didi

python - 为什么此字符串不适用于 ast.literal_eval

转载 作者:太空狗 更新时间:2023-10-30 02:33:45 25 4
gpt4 key购买 nike

我收到格式错误的字符串错误。

这是我的测试

>>> eval("'Hello:: '+'fdsfds'")
'Hello:: fdsfds'
>>> import ast
>>> ast.literal_eval("'Hello:: '+'fdsfds'")
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
ast.literal_eval("'Hello:: '+'fdsfds'")
File "C:\Python27\lib\ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "C:\Python27\lib\ast.py", line 79, in _convert
raise ValueError('malformed string')
ValueError: malformed string

最佳答案

来自 ast.literal_eval docs :

The string or node provided may only consist of the following Python literal structures: strings, numbers, tuples, lists, dicts, booleans, and None.

使用 + 的连接不包括在内:它不是文字表达式,它是对 str.__add__ 的调用。这与 1+1"hello".upper() 不起作用的原因相同。

关于python - 为什么此字符串不适用于 ast.literal_eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com