在python中检查字符串的python语法?

2024-05-23 13:36:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一根绳子

s="""

print 'hi'
    print 'hi'
print 3333/0
"""

有没有一个模块或方法可以帮助我检查这个字符串的语法?在

我希望输出如下:

第2行,缩进 第三行,除以零

我听说过pyFlakes、pyChecker和pyLint,但它们检查的是文件,而不是字符串。在


Tags: 模块文件方法字符串语法hipylintpyflakes
2条回答

compile()函数将告诉您有关编译时错误的信息:

try:
    compile(s, "bogusfile.py", "exec")
except Exception as e:
    print "Problem: %s" % e

但是请记住:一个错误将阻止其他错误被报告,并且您的一些错误(零除法)是运行时错误,而不是编译器检测到的错误。在

s="""

print 'hi'
    print 'hi'
print 3333/0
"""
eval(s)

输出:

^{pr2}$

相关问题 更多 >