gpt4 book ai didi

python - SyntaxError : EOL while scanning string literal with ast. 解析

转载 作者:行者123 更新时间:2023-12-03 08:14:59 35 4
gpt4 key购买 nike

以下是有效的python代码

In [49]: print('hello\n')
hello

但是当我使用 ast 模块的 parse 方法它返回时,语法错误
In [47]: code = "print('hello\n')"

In [48]: ast.parse(code)
File "<unknown>", line 1
print('hello
^
SyntaxError: EOL while scanning string literal

In [51]: eval(code)
File "<string>", line 1
print('hello
^
SyntaxError: invalid syntax

在这种情况下,为什么 ast 模块无法解析有效的 python 代码?

最佳答案

你必须逃离 \在代码中

code = "print('hello\\n')"
ast.parse(code)
# <_ast.Module object at 0x7fd68cb48cc0>

或者您可以添加 r前缀表示字符串中的所有内容都需要转义
code = r"print('hello\n')"
ast.parse(code)
# <_ast.Module object at 0x7fd68cb48ef0>

关于python - SyntaxError : EOL while scanning string literal with ast. 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51168035/

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