2015-11-24 14 views
11

In der Vergangenheit gibt es codecs, die durch io ersetzt wurde. Obwohl es scheint, als wäre es ratsam, io.open zu verwenden, lehren die meisten einführenden Python-Klassen immer noch open.Unterschied zwischen io.open vs öffnen in Python

Es gibt eine Frage mit Difference between open and codecs.open in Python aber ist open ein reiner Enten-Typ von io.open?

Wenn nicht, warum ist es besser, io.open zu verwenden? Und warum ist es einfacher, mit open zu unterrichten?

In diesem Beitrag (http://code.activestate.com/lists/python-list/681909/), sagt Steven DAprano, dass die in open gebaut wird, um die io.open im Backend verwenden. Also sollten wir alle unseren Code umgestaltet haben, um open statt io.open zu verwenden?

Anders als die Abwärtskompatibilität für py2.x, gibt es einen Grund, io.open zu verwenden, anstatt open in py3.0?

+1

Check out 'help (offen) Arbeits 'und Sie werden sehen, dass es das selbe wie' io.open() 'ist - selbst die Überschrift sagt' Hilfe zur eingebauten Funktion, die im Modul io geöffnet ist, also gibt es keinen Grund, 'io zu benutzen. open() 'wenn Sie ein Programm in Python 3 schreiben. –

+0

@TimPietzcker,' io.open' ist nur für Rückwärtskompatibilität richtig? Wenn ja, sollte ich anfangen, alle Klassenmaterialien für 'python3' zu ändern =) – alvas

+0

Ja, wahrscheinlich. Es erleichtert die Portierung von 2.x auf 3.x, aber wenn Sie mit 3.x beginnen, müssen Sie dies nicht komplizierter machen. –

Antwort

16

Situation in Python3 gemäß der Dokumentation:

io.open(file, *[options]*)

Dies ist ein Alias ​​für die eingebaut open() Funktion.

und

Während die builtin open() und der zugehörige IO-Modul sind die Ansatz empfohlen für mit codierten Textdateien arbeiten, aber dieses Modul [d Codecs] zusätzliche Utility-Funktionen und Klassen, die die Verwendung einer breiteren Palette von Codecs erlauben, wenn sie mit binären Dateien

(fett und kursiv sind meine Änderungen)

Verwandte Themen