Dans le passé, il y avait codecs
qui a été remplacé par io
. Bien qu'il semble préférable d'utiliser io.open
, la plupart des cours d'introduction python enseigne toujours open
.
Il y a une question avec Différence entre open et codecs.open en Python mais est open
un simple type de canard de io.open
?
Sinon, pourquoi est-il préférable d'utiliser io.open
? Et pourquoi est-il plus facile d'enseigner avec open
?
Dans cet article ( http://code.activestate.com/lists/python-list/681909/ ), Steven DAprano dit que le open
intégré utilise le io.open
dans le backend. Donc, devrions-nous tous refactoriser notre code pour utiliser open
au lieu de io.open
?
À part la compatibilité descendante pour py2.x, existe-t-il une raison d'utiliser io.open
au lieu de open
dans py3.0?
Situation en Python3 selon la documentation:
io.open(file, *[options]*)
Il s'agit d'un alias pour la fonction open () intégrée.
et
Alors que l'ouverture intégrée () et le module io associé sont l'approche recommandée pour travailler avec des fichiers texte encodés, ce module [c'est-à-dire. codecs] fournit des fonctions utilitaires et des classes supplémentaires qui permettent l'utilisation d'une plus large gamme de codecs lorsque vous travaillez avec des fichiers binaires
(gras et italique sont mes modifications)