当我试图从命令行执行一个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
我怎样才能抑制错误?
将stderr重定向到
/dev/null
。捕捉HTMLParseError对您不起作用吗?如果
test.py
是您的python文件的名称,那么它会被传播到那里,所以应该是这样。下面是一个如何抑制这种错误的示例。您可能需要对其进行一些调整以匹配您的代码。
您也可以像Ignacio建议的那样,通过将stderr重定向到null来抑制错误消息。要在代码中执行此操作,只需编写以下代码:
但是,这可能不是您想要的,因为从您的错误来看,脚本执行似乎已停止,您可能希望继续执行。
在python 3中,@Boaz Yaniv的答案可以简化为
因为python3中的每个类都是从
Object
继承的,所以从技术上讲,这是可行的,至少我在python3.6.5环境中自己尝试过。相关问题 更多 >
编程相关推荐