ネット上のpythonの2系コードを3系コードに書き換えようとしても、エラーが出たり、書き換えの途中で元のコードに戻ったりします。そんな時、Python3に標準装備されている2to3が便利です。
例えばメモ帳にUTF-8の文字コードで print ‘Hello, World!’ とだけ書いて hello という名前でデスクトップ上に保存し、作成された hello.txt の拡張子を変えて hello.py にします。
そしてcmd.exeを起動させ、変換したいファイルがある場所(例えばデスクトップ)に移動します。
cd C:\Users\(ユーザー名)\Desktop
差分を出力するには
2to3 hello.py
または(C:\Users\(ユーザー名)\AppData\Local\Programs\Python\Python36\Tools\scripts の中に2to3.pyがあるとすると)
python C:\Users\(ユーザー名)\AppData\Local\Programs\Python\Python36\Tools\scripts\2to3.py hello.py
と書きEnterを押します。2系の部分が-、3系の部分が+で出力されます。
ファイル出力するには
2to3 -w hello.py
または(C:\Users\(ユーザー名)\AppData\Local\Programs\Python\Python36\Tools\scripts の中に2to3.pyがあるとすると)
python C:\Users\(ユーザー名)\AppData\Local\Programs\Python\Python36\Tools\scripts\2to3.py -w hello.py
と書きEnterを押します。そうすると元の2系コードと同じ所に hello.py という名前で3系コードのファイルが作成されます。元の2系コードは hello.py.bak という名前に変わります。
変換したファイルを実行するにはcmd.exeで、ファイルがある場所に移動したまま
python hello.py
と書きEnterを押します。そうすると Hello, World! と表示され3系コードに変わったことがわかります。
ライブラリ名など変換されない単語もあるようなので、それらは手動で書き換える必要がありそうです。
参考サイト
2to3でPython2.xのコードを3.xのコードに変換 – Qiitaさん
2系から3系への変換ツール (2to3) | Python-izmさん