假设我有一个字符串
s="""
print 'hi'
print 'hi'
print 3333/0
"""有没有一个模块或方法可以帮助我检查这个字符串的语法?
我希望输出是这样的:
第2行,缩进第3行,除以零
我听说过pyFlakes、pyChecker和pyLint,但它们检查的是文件,而不是字符串。
发布于 2012-06-13 09:04:54
compile()函数将告诉您有关编译时错误的信息:
try:
compile(s, "bogusfile.py", "exec")
except Exception as e:
print "Problem: %s" % e但请记住:一个错误将阻止其他错误被报告,并且您的一些错误(ZeroDivision)是运行时错误,而不是编译器检测到的错误。
发布于 2012-06-13 09:16:01
s="""
print 'hi'
print 'hi'
print 3333/0
"""
eval(s)输出:
Traceback (most recent call last):
File "prog.py", line 7, in <module>
eval(s)
File "<string>", line 3
print 'hi'
^
SyntaxError: invalid syntaxhttps://stackoverflow.com/questions/11006903
复制相似问题