Python 3系列で動作させるためには、以下のような変更を行う必要があります。
print
文の括弧を追加します。例えば、print 'hello'
をprint('hello')
に変更します。xrange
をrange
に置き換えます。Python 3ではxrange
は削除され、range
がその役割を果たします。dict.iteritems()
をdict.items()
に置き換えます。Python 3ではdictionary viewsが導入され、iteritems()
メソッドは廃止されました。except
節でエラーの種類を明示的に指定します。例えば、except:
をexcept Exception:
などに変更します。//
演算子の振る舞いが変更されました。整数同士の割り算の結果を整数で返すようになりました。浮動小数点数での結果が必要な場合は、オペランドの少なくとも一方を浮動小数点数に変換します。map
、filter
、zip
などの関数の返り値がリストではなくイテレータになりました。リストが必要な場合はlist()
で囲みます。cmp
関数が削除されました。代わりにkey
引数を持つsort
メソッドやsorted
関数を使用します。itertools.izip
、itertools.imap
、itertools.ifilter
などのイテレータ版の関数が削除されました。代わりにzip
、map
、filter
関数を使用します。basestring
が削除されました。代わりにstr
を使用します。long
型が削除され、int
型に統合されました。
これらの変更を行えば、ほとんどのPython 2のコードをPython 3で動作させることができるはずです。ただし、依存ライブラリや外部モジュールの互換性も確認する必要があります。
コメント