Running 2to3
We’re going to migrate the chardet
module from Python 2 to Python 3. Python 3 comes with a utility script called 2to3
, which takes your actual Python 2 source code as input and auto-converts as much as it can to Python 3. In some cases this is easy — a function was renamed or moved to a different module — but in other cases it can get pretty complex. To get a sense of all that it can do, refer to the appendix, Porting code to Python 3 with 2to3
. In this chapter, we’ll start by running 2to3
on the chardet
package, but as you’ll see, there will still be a lot of work to do after the automated tools have performed their magic.
The main chardet
package is split across several different files, all in the same directory. The 2to3
script makes it easy to convert multiple files at once: just pass a directory as a command line argument, and 2to3
will convert each of the files in turn.
Get hands-on with 1400+ tech skills courses.