2017-10-05 8 views
0

Puis-je écrire des syntaxes python 2 dans un fichier python 3 et compiler avec un compilateur python 3? Ce que je veux dire est ceci:Écrire des codes python2 dans python3

Je sais qu'en utilisant future__import on peut utiliser plusieurs python 3 fonctions (comme, print, exep) en python 2.

Ce que je veux savoir est ce que je peux faire le contraire de ce? Disons que j'ai un code pour l'impression au fichier de données dans python2 (print>> f,a). Maintenant, je veux utiliser le même code dans le compilateur python3. Puis-je le faire?

+0

Vous pouvez utiliser try, sauf que le même code peut être utilisé pour Python 2 et Python 3 – Harsha

+2

Si vous demandez si python3 est rétrocompatible, la réponse est non. Par exemple, print est une fonction dans python 3. Dans python 2 ce n'est pas le cas. – RSon1234

+0

https://pypi.python.org/pypi/past/ –

Répondre

0
import __future__ 

Les modules intégrés Python3 sont-ils écrits à l'aide de la grammaire/syntaxe Python 2? Ils incluent des fonctions non disponibles dans Python2 ou remplacent la version de Python2. Avoir un 'forward port' n'a pas beaucoup de sens car Python3 fait toujours les mêmes choses que Python2, mais de manière (sans doute) meilleure.

Ceci n'est pas différent de l'importation d'un autre module; il fournit simplement des méthodes/classes/etc pour fonctionner.

Si vous avez votre propre code Python2 que vous souhaitez utiliser en Python3, le mieux est de lancer le 2to3 conversion tool.

En fait, ce n'est pas très difficile à utiliser. J'ai moi-même converti des milliers de scripts en utilisant cet outil.