J'ai du code dans python 2.7 et je veux tout convertir en code python 3.3. Je sais que 2to3 peut être utilisé mais je ne sais pas exactement comment pour l'utiliser. Merci pour toute aide
Comme il est écrit sur 2to3 docs , pour traduire un projet entier d'une arborescence de répertoires en une autre, utilisez:
$ 2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode
Si vous n'avez pas 2to3
sur votre chemin, vous pouvez appeler directement lib2to3
:
python -m lib2to3 directory\file.py
Et comme les documents (et d'autres réponses) mentionnent, vous pouvez utiliser des indicateurs pour plus de personnalisation:
-w
drapeau pour activer l'écriture différée, qui applique les modifications au fichier-n
pour désactiver les sauvegardes(il y a quelques autres drapeaux; voir la documentation pour plus d'informations.)
Sous Windows:
python {path_to_python}\tools\scripts\2to3.py --output-dir={output_dir} -W -n {input_dir}
path_to_python
= répertoire où Python est installé
output_dir
= répertoire où sortir les scripts Python3
input_dir
= répertoire d'où lire les scripts Python2
Pour convertir tous les fichiers python 2 dans un répertoire en 3, vous pouvez simplement exécuter $ C:\Program Files\Python\Tools\Scripts\2to3.py -w -n.
dans le répertoire que vous souhaitez traduire. Cela ignorerait tous les non .py
fichiers quand même, et convertissez le reste.
note: supprimez l'indicateur -n, si vous souhaitez également le fichier de sauvegarde.