Why doesn't "filterwarnings" suppress this message?

Peter Otten __peter__ at web.de
Thu Jan 28 14:01:51 EST 2010


John Nagle wrote:

>     Feedparser isn't supported for Python 3.0, so in Python 2.6, many
>     warning
> messages appear.  I'm trying, in Python 2.6, to suppress the warning
> message:
> 
> ./feedparser\feedparser.py:69: DeprecationWarning:
> the sgmllib module has been removed in Python 3.0
> import sgmllib, re, sys, copy, urlparse, time, rfc822, types,
> cgi, urllib, urllib2
> 
> with this warning filter:
> 
> warnings.filterwarnings(action='ignore',
> category=DeprecationWarning, module='feedparser')
> 
> The filter suppresses other deprecation warnings associated with
> the feedparser module, but not that one.  How do I get rid of that
> one?
> 
> And no,
> 
> warnings.filterwarnings(action='ignore',
> category=DeprecationWarning, module='sgmllib')
> 
> doesn't do it.
> 
> John Nagle

I can't confirm that:

$ cat nowarning.py
import sys
if "--off" in sys.argv:
    import warnings
    warnings.filterwarnings(action="ignore",
                            category=DeprecationWarning,
                            module="feedparser")
import feedparser
$ python nowarning.py
$ python -3 nowarning.py
/usr/lib/python2.6/site.py:1: DeprecationWarning: The 'new' module has been 
removed in Python 3.0; use the 'types' module instead.
  """Append module search paths for third-party packages to sys.path.
/usr/lib/pymodules/python2.6/feedparser.py:69: DeprecationWarning: the 
sgmllib module has been removed in Python 3.0
  import sgmllib, re, sys, copy, urlparse, time, rfc822, types, cgi, urllib, 
urllib2
/usr/lib/pymodules/python2.6/feedparser.py:69: DeprecationWarning: in 3.x, 
rfc822 has been removed in favor of the email package
  import sgmllib, re, sys, copy, urlparse, time, rfc822, types, cgi, urllib, 
urllib2
$ python -3 nowarning.py --off
/usr/lib/python2.6/site.py:1: DeprecationWarning: The 'new' module has been 
removed in Python 3.0; use the 'types' module instead.
  """Append module search paths for third-party packages to sys.path.
$ python -V
Python 2.6.4

Peter



More information about the Python-list mailing list