【发布时间】:2012-08-04 23:40:07
【问题描述】:
如果我有一个 Python 代码字符串,我如何判断它是否有效,即,如果在 Python 提示符下输入,它会引发 SyntaxError 与否?我认为使用compiler.parse 会起作用,但显然该模块已在 Python 3 中删除。有没有办法在 Python 3 中也适用。显然,我不想执行代码,只需检查它语法。
【问题讨论】:
-
@goldenparrot 上次我检查时,
gcc没有 Python 前端,而且静态编译器通常在动态语言方面表现不佳,如果他们尝试过的话。 -
@delnan 正在等待 gcc-python
-
您真的只是在寻找语法错误吗?或者还有逻辑错误(即
g==5没有为 g 设置值)因为g==5将 ast.parse 即使没有 g 任何地方 -
@JoranBeasley 鉴于在一般情况下无法检测到此类错误,在许多其他情况下很难检测到研究级别,而且除了最微不足道的情况外,在所有情况下找到这些错误仍然非常昂贵,我希望不会为了他。
-
我认为 pylint 会抓住它(在大多数情况下)...
标签: python syntax python-3.x