Python: Suppressing errors from going to commandline?

Doesn't catching HTMLParseError work for you? If test.py is the name of your python file, it's propagated up to there, so it should.

Here's an example how to suppress such an error. You might want to tweak it a bit to match your code.

try:
    # Put parsing code here
except HTMLParseError:
    pass

You can also just suppress the error message by redirecting stderr to null, like Ignacio suggested. To do it in code, you can just write the following:

import sys

class DevNull:
    def write(self, msg):
        pass

sys.stderr = DevNull()

However, this is probably not be what you want, because from your error it looks like the script execution is stopped, and you probably want it to be continued.


Redirect stderr to /dev/null.

python somescript.py 2> /dev/null

In python 3, @Boaz Yaniv's answer can be simplified as

sys.stderr = object

since every class in python3 is inherited from Object, so technically this would work, at least I've tried it by myself in python 3.6.5 environment.