Hallo,
ich lerne mich gerade in Python ein und bin auf der Suche nach einer Übersicht der verfügbaren Funktionen. Gibt es ein Programm, dass alle installierten Module/Funktionen durchforstet und dann eine Suchfunktion zur Verfügung stellt?
Gruß
Bastian
Übersicht der verfügbaren Funktionen in Python
Hier ist eine Liste von Builtins (Funktionen bzw. Klassen, die immer zur Verfuegung stehen und nicht extra importiert werden muessen):
Dann kannst Du jeden Eintrag abfragen:
Code: Alles auswählen
>>> [ f for f in dir(__builtins__) if 'a' <= f[0] <= 'z' ]
['abs', 'all', 'any', 'apply', 'basestring', 'bool', 'buffer', 'callable',
'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex',
'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate',
'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'frozenset', 'getattr',
'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern',
'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long',
'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property',
'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum',
'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']
Natuerlich gibt es auch eine Unmenge von Modulen... Benutze einfach das Programm 'pydoc', das Teil der Python-Installation ist. Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.>>> help(zip)
Help on built-in function zip in module __builtin__:
zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
Return a list of tuples, where each tuple contains the i-th element
from each of the argument sequences. The returned list is truncated
in length to the length of the shortest argument sequence.
Das führt bei mir zu einem Segmentation Fault(Python 2.6).farid hat geschrieben:Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.
Mit sys.modules bekommt man eine dict mit den Namen aller Module und einer Referenz darauf.
@DasIch: Dann wird sich wohl irgendein Modul, wahrscheinlich ein C-Modul von einem Drittanbieter, nicht importieren lassen. Oder Du hast einen Bug in Python 2.6 gefunden.
Bei mir aber auch =/ Sehr komisch. Hab aber auch einige Module installiert, muss ich sagen... Aber ansonsten geht alles.DasIch hat geschrieben:Das führt bei mir zu einem Segmentation Fault(Python 2.6).farid hat geschrieben:Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.
-
- User
- Beiträge: 7
- Registriert: Dienstag 28. Oktober 2008, 11:32
farid hat geschrieben:Hier ist eine Liste von Builtins (Funktionen bzw. Klassen, die immer zur Verfuegung stehen und nicht extra importiert werden muessen):
Dann kannst Du jeden Eintrag abfragen:Code: Alles auswählen
>>> [ f for f in dir(__builtins__) if 'a' <= f[0] <= 'z' ] ['abs', 'all', 'any', 'apply', 'basestring', 'bool', 'buffer', 'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']
Natuerlich gibt es auch eine Unmenge von Modulen... Benutze einfach das Programm 'pydoc', das Teil der Python-Installation ist. Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.>>> help(zip)
Help on built-in function zip in module __builtin__:
zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
Return a list of tuples, where each tuple contains the i-th element
from each of the argument sequences. The returned list is truncated
in length to the length of the shortest argument sequence.
Hallo,
danke für die zahlreichen Tipps. Ich werd mir die genannten Links und Programme mal näher anschauen.
Gruß
Basti
Wie finde ich dass am einfachsten raus? Die Ausgabe der Module scheint keine bestimmte Reihenfolge zu haben dafür gibt es eine ganze Menge an DeprecationWarnings.BlackJack hat geschrieben:@DasIch: Dann wird sich wohl irgendein Modul, wahrscheinlich ein C-Modul von einem Drittanbieter, nicht importieren lassen. Oder Du hast einen Bug in Python 2.6 gefunden.
Allerdings ist diese Komfort den Linux-Nutzern vorbehaltenBlackJack hat geschrieben:Python mit ``strace`` starten ist vielleicht etwas weniger aufwändig.
Das wird bei externen Modulen nicht funktionieren, da die nicht unbedingt mit Debugging-Informationen übersetzt wurden. Außerdem hat ein Windows-Python-Entwickler nicht notwendigerweise Visual Studio zum Debugging installiert