What is the correct way to port codecs.open to python 3.1?

Baptiste Lepilleur baptiste.lepilleur at gmail.com
Sat Nov 7 06:56:54 EST 2009


After applying 2to3.py to port a 2.6 script to 3.1, I get the following
error when running my script:
  File "purekeyworddbtest.py", line 143, in __init__
    f = codecs.open(EXCLUDED_KEYWORDS_FILE, 'rt', 'utf-8')
  File "c:\Python31\lib\codecs.py", line 870, in open
    file = builtins.open(filename, mode, buffering)
ValueError: can't have text and binary mode at once

I skimmed through python 3.0 release notes, and I haven't seen anything
indicating that codecs.open behaviour has changed in incompatible way (just
that it is no longer useful). Have I missed something?

Do I need to replace all codecs.open with the built-in open function? If so,
why does codecs.open still exist?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20091107/c4b15757/attachment.html>


More information about the Python-list mailing list