[Python-de] Python3 und "file"-Objekte
Bernd Nawothnig
Bernd.Nawothnig at t-online.de
Sa Mär 2 12:30:37 CET 2013
On 2013-02-22, Christian Heimes wrote:
> Am 22.02.2013 15:01, schrieb Olе Streicher:
>> Hallo,
>>
>> ich möchte meinen Code gerne Python3-fähig machen. Da findet sich eine
>> Stelle
>>
>> def load(source):
>> if isinstance(source, file):
>> source = source.read()
>> # ...
>>
>> wie kann ich das so umschreiben, dass es in Python2 und Python3
>> funktioniert?
>
> Mach keinen Typecheck sondern prüfe auf das Interface:
>
> if hasattr(source, "read"):
> ...
Was natürlich keineswegs dasselbe ist. Tausende von Klassen können
eine Methode read haben, ohne dabei auch nur im entferntesten vom Typ
file zu sein.
Bernd
Mehr Informationen über die Mailingliste python-de