web-dev-qa-db-ja.com

Pythonで2to3を適切に使用する方法は?

python 2.7にいくつかのコードがあり、それをすべてpython 3.3コードに変換したい。それを使用するために。助けてくれてありがとう

31
GhostFrag1

2to3 docs に書かれているように、プロジェクト全体をあるディレクトリツリーから別のディレクトリツリーに変換するには、次を使用します。

$ 2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode
41
Faruk Sahin

パスに2to3がない場合は、lib2to3を直接呼び出すことができます。

python -m lib2to3 directory\file.py

ドキュメント (およびその他の回答)に記載されているように、カスタマイズのためにいくつかのフラグを使用できます。

  • -wフラグは、ファイルに変更を適用するライトバックを有効にします
  • バックアップを無効にする-n

(さらにいくつかのフラグがあります。詳細についてはドキュメントを参照してください。)

8
Graham

Windowsの場合:

python {path_to_python}\tools\scripts\2to3.py --output-dir={output_dir} -W -n {input_dir}

path_to_python = Pythonがインストールされているディレクトリ

output_dir = Python3スクリプトを出力するディレクトリ

input_dir = Python2スクリプトの読み取り元のディレクトリ

5
stzdr

ディレクトリ内のすべてのpython 2ファイルを3に変換するには、翻訳するディレクトリ内で$ C:\Program Files\Python\Tools\Scripts\2to3.py -w -n.を実行します。とにかくすべての非.pyファイルをスキップし、残りを変換します。
:バックアップファイルも必要な場合は、-nフラグを削除します。

1
Nuhman