如果我有一个 Python 代码字符串,我如何判断它是否有效,即,如果在 Python 提示符下输入,它会引发 SyntaxError 与否?我认为使用 compiler.parse
会起作用,但显然该模块已在 Python 3 中删除。有没有办法在 Python 3 中也适用。显然,我不想执行代码,只需检查其语法即可。
最佳答案
使用 ast.parse
:
import ast
def is_valid_python(code):
try:
ast.parse(code)
except SyntaxError:
return False
return True
>>> is_valid_python('1 // 2')
True
>>> is_valid_python('1 /// 2')
False
关于python - 如何判断一个字符串是否包含有效的 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854745/