如果我有一个Python代码字符串,我如何判断它是否有效,即如果在Python提示符下输入,它是否会引发语法错误?我原以为使用compiler.parse
就可以了,但显然在Python3中该模块已经被删除了.有没有一种方法在Python3中也适用.显然,我不想执行代码,只是判断它的语法.
如果我有一个Python代码字符串,我如何判断它是否有效,即如果在Python提示符下输入,它是否会引发语法错误?我原以为使用compiler.parse
就可以了,但显然在Python3中该模块已经被删除了.有没有一种方法在Python3中也适用.显然,我不想执行代码,只是判断它的语法.
使用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