Python:抑制进入命令行的错误?

发布于 2021-01-29 16:22:40

当我尝试从命令行执行python程序时,出现以下错误。这些错误不会对我的输出造成任何问题。我不希望它在命令行中显示

Traceback (most recent call last):
  File "test.py", line 88, in <module>
    p.feed(ht)
  File "/usr/lib/python2.5/HTMLParser.py", line 108, in feed
    self.goahead(0)
  File "/usr/lib/python2.5/HTMLParser.py", line 148, in goahead
    k = self.parse_starttag(i)
  File "/usr/lib/python2.5/HTMLParser.py", line 226, in parse_starttag
    endpos = self.check_for_whole_start_tag(i)
  File "/usr/lib/python2.5/HTMLParser.py", line 301, in check_for_whole_start_tag
    self.error("malformed start tag")
  File "/usr/lib/python2.5/HTMLParser.py", line 115, in error
    raise HTMLParseError(message, self.getpos())
HTMLParser.HTMLParseError: malformed start tag, at line 319, column 25

我该如何抑制错误?

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    捕获HTMLParseError是否对您有用?如果test.py是python文件的名称,它将传播到该位置,因此应该传播。

    这是一个如何抑制此类错误的示例。您可能需要对其进行一些调整以匹配您的代码。

    try:
        # Put parsing code here
    except HTMLParseError:
        pass
    

    您也可以通过将stderr重定向为null来抑制错误消息,如Ignacio建议的那样。为此,您可以编写以下代码:

    import sys
    
    class DevNull:
        def write(self, msg):
            pass
    
    sys.stderr = DevNull()
    

    但是,这可能不是您想要的,因为从您的错误看来脚本执行已停止,并且您可能希望继续执行。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看