2012-10-24 9 views
19

Ich weiß, dass diese Frage sehr einfach ist, ich weiß, dass es viele Male gefragt worden ist und ich meine Suche sowohl auf SO als auch Google gemacht habe, aber ich konnte die Antwort wahrscheinlich nicht finden mein Mangel an Fähigkeit, das, was ich suche, in einen richtigen Satz zu bringen.So drucken Sie Moduldokumentation in Python

Ich möchte in der Lage sein, die Dokumente zu lesen, was ich importiere.

Wenn ich zum Beispiel x durch "import x" importiere, möchte ich diesen Befehl ausführen und seine Dokumente in Python oder ipython drucken lassen.

Was ist diese Befehlsfunktion?

Vielen Dank.

PS. Ich meine nicht dir(), ich meine die Funktion, die die Dokumente tatsächlich ausdrucken wird, damit ich sehen und lesen kann, welche Funktionalitäten usw. dieses Modul x hat.

Antwort

17

Sie können das .__doc__ Attribut des Moduls der Funktion:

In [14]: import itertools 

In [15]: print itertools.__doc__ 
Functional tools for creating and using iterators.......... 

In [18]: print itertools.permutations.__doc__ 
permutations(iterable[, r]) --> permutations object 

Return successive r-length permutations of elements in the iterable. 

permutations(range(3), 2) --> (0,1), (0,2), (1,0), (1,2), (2,0), (2,1) 

Beide help() ans __doc__ funktionieren sowohl eingebaute als auch unsere eigenen Module:

Datei: foo.py

def myfunc(): 
    """ 
    this is some info on myfunc 

    """ 
    foo=2 
    bar=3 


In [4]: help(so27.myfunc) 


In [5]: import foo 

In [6]: print foo.myfunc.__doc__ 

    this is some info on func 

In [7]: help(foo.myfunc) 


Help on function myfunc in module foo: 

myfunc() 
    this is some info on func 
+1

Ashwini, danke immer wieder. Hervorragende Erklärung. Ich habe allerdings eine kleine Frage. Angenommen, ich bin auf dem ipython-Client, und ich führe den Befehl help aus und druckt die Dokumente. Wie gehe ich zurück zu ipython? ;-) escape, backspace, space, enter .. keine Zeichen bringen mich zurück bis auf die Beendigung von ipython. – Phil

+0

@Phil versuchen 'esc'': '' q' –

13

pydoc foo.bar von der Befehlszeile oder help(foo.bar) oder help('foo.bar') von Python.

+0

Danke Josh! Ihre Antwort löst mein Problem auch sehr gut, aber für die zukünftige Referenz für andere wähle ich die andere Antwort als "die" Antwort, da sie ein bisschen mehr Informationen für andere Neulinge wie mich enthält. – Phil

+1

@ josh-lee +1 für die Erwähnung der Befehlszeilenoption. Was, wenn ich die Dokumentation des Moduls aus der '__main__' Funktion eines Moduls ausdrucken möchte? –