首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中检查字符串的python语法?

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

Stack Overflow用户
提问于 2012-06-13 08:59:31
回答 2查看 735关注 0票数 1

假设我有一个字符串

代码语言:javascript
复制
s="""

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

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

我希望输出是这样的:

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

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

EN

回答 2

Stack Overflow用户

发布于 2012-06-13 09:04:54

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

代码语言:javascript
复制
try:
    compile(s, "bogusfile.py", "exec")
except Exception as e:
    print "Problem: %s" % e

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

票数 6
EN

Stack Overflow用户

发布于 2012-06-13 09:16:01

代码语言:javascript
复制
s="""

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

输出:

代码语言:javascript
复制
Traceback (most recent call last):
  File "prog.py", line 7, in <module>
    eval(s)
  File "<string>", line 3
    print 'hi'
        ^
SyntaxError: invalid syntax
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11006903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档