我想知道是否可以在不运行 Python 程序的情况下检查 Python 代码是否具有正确的语法。源代码可以在一个文件中,或者最好在一个变量中。
应用程序如下:我有一个简单的文本编辑器,嵌入在我的应用程序中,用于编辑 Python 脚本。我想在语法不正确时添加警告。
我目前的想法是尝试导入文件并捕获包含错误行的 SyntaxError 异常。但我根本不希望它执行。有什么想法吗?
请您参考如下方法:
这就是 ast.parse 的工作:
>>> import ast
>>> ast.parse('print 1') # does not execute
<_ast.Module at 0x222af10>
>>> ast.parse('garbage(')
File "<unknown>", line 1
garbage(
^
SyntaxError: unexpected EOF while parsing
