Methoden in der interaktiven Python-Shell anzeigen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
_Mala_Fide_
User
Beiträge: 53
Registriert: Dienstag 22. Dezember 2015, 19:17

Hallo,

und zwar versuche ich schon seit einiger Zeit infos dazu zu finden, wie ich alle verfügbaren Methoden eines Datei-Objektes in der interaktiven Python-Shell anzeigen lassen kann, ohne extra eine Datei öffnen zu müssen. Sprich wenn ich z.b. int. eingebe und dann doppelt auf die Tab-Taste drücke, bekomme ich alle Methoden, die int unterstützt angezeigt.:

Code: Alles auswählen

>>> int.
int.as_integer_ratio(  int.conjugate(         int.from_bytes(        int.mro(               int.real               
int.bit_length(        int.denominator        int.imag               int.numerator          int.to_bytes(
Wenn ich das für ein Datei-Objekt anzeigen lassen möchte, muss ich immer eine Datei öffen und kann dann über das Datei-Objekt, mit doppelt Tab-Taste drücken, die Methoden anzeigen lassen.:

Code: Alles auswählen

>>> fh = open("test.txt")
>>> fh.
fh.buffer          fh.detach(         fh.fileno(         fh.line_buffering  fh.newlines        fh.readline(       fh.seek(           fh.truncate(       fh.write_through
fh.close(          fh.encoding        fh.flush(          fh.mode            fh.read(           fh.readlines(      fh.seekable(       fh.writable(       fh.writelines(
fh.closed          fh.errors          fh.isatty(         fh.name            fh.readable(       fh.reconfigure(    fh.tell(           fh.write(  
Meine Frage ist jetzt, gibt es auch einen Weg die Methoden anzeigen zu lassen, ohne extra eine Datei öffnen zu müssen?

Den einzigen Weg, den ich bis jetzt gefunden habe, ist die help()-Funktion zu benutzen:

Code: Alles auswählen

>>> help("io.TextIOWrapper")
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Bei io.TextIOWrapper. kannst Du auch mit Tab die Methoden anzeigen. `open` ist hakt keine Klasse, sondern eine Funktion, die je nach Argument unterschiedliche Rückgabetypen hat.
_Mala_Fide_
User
Beiträge: 53
Registriert: Dienstag 22. Dezember 2015, 19:17

Danke für die schnelle Antwort.
Bei io.TextIOWrapper. passiert mit Tab nichts.
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Grundsätzlich empfehle ich dringend IPython im interaktiven Interpreter zu verwenden. Dann funktioniert das auch unter allen Betriebssystemen.
Dort funktioniert das auch mit io.TextIoWrapper, wenn man vorher io importiert.
_Mala_Fide_
User
Beiträge: 53
Registriert: Dienstag 22. Dezember 2015, 19:17

Das importieren von io war die Lösung. So funktioniert es auch in der normalen Paython-Shell.
Danke!
Antworten