gpt4 book ai didi

python - 有没有更好的方法在没有外部模块的情况下检查 Python 代码的语法错误?

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

正如标题所说,有没有更好的方法可以在不使用外部模块的情况下检查 Python 源代码中的语法错误?

我的意思是,在某种意义上更 Pythonic 风格或更高效的方式。

def CheckSyntax(source, raw = False):
lines = source.count("\n")
source += "\nThis is a SyntaxError" # add a syntax error to source, it shouldn't be executed at all
try:
exec source in {}, {}
except SyntaxError, e:
if e.lineno != lines + 2:
if raw:
return e
else:
return e.lineno, e.offset, e.text

编辑:理想情况下,对于实时语法检查来说,它的性能应该足够了。

最佳答案

exec听起来不是一个特别好的主意。如果有问题的脚本有副作用(例如创建或修改文件)或需要很长时间才能运行怎么办?

看看 compile 函数和 parser 模块。

关于python - 有没有更好的方法在没有外部模块的情况下检查 Python 代码的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6873094/

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