Ich möchte einen gepufferten Stream verwenden, weil ich eine peek()
-Methode verwenden möchte, um einen Blick zu werfen, aber meinen Stream mit einer anderen Methode verwenden, die ein dateiähnliches Objekt erwartet. (I seek()
verwenden würde, aber kann verrohrt-I/O zu handhaben, die nicht zufällig Zugriff nicht unterstützt.)Python: Verwenden von io.BufferedReader auf einem Stream mit open() erhalten?
Aber dieser Testfall versagt:
Attribute: ‚Datei‘ Objekt hat kein Attribut ' _checkReadable '
Was passiert und wie kann ich es beheben? Ich dachte, BufferedReader sollte einen Stream puffern. Wenn ja, warum gibt die open()
Funktion nicht etwas zurück, das damit kompatibel ist?
Es ist interessant. Obwohl wir die gleichen Versionen (2.7.x) haben, erhalten wir leicht unterschiedliche Fehlermeldungen. – username
Ich habe es herausgefunden. Es gibt einen Kommentar in io.py als "" "Methodenbeschreibungen und Standardimplementierungen werden jedoch von der C-Version geerbt." "" Es hängt also von den c-Versionen oder dem Betriebssystem ab. – username
@username: Dies ist nicht betriebssystemspezifisch. Mein Python 2.6.7 beschwert sich auch über _checkReadable, während sich mein 2.7.2 über "lesbar" beschwert.Ich kann das Commit jetzt nicht finden, aber das wurde wahrscheinlich irgendwo zwischen 2.7.0 und 2.7.2 geändert. –