2012-10-24 12 views
19

So che questa domanda è molto semplice, so che deve essere stata posta molte volte e ho effettuato la ricerca sia su SO che su Google ma non ho trovato la risposta, probabilmente a causa di la mia mancanza di capacità di mettere in una frase corretta quello che cerco.Come stampare la documentazione del modulo in Python

Voglio essere in grado di leggere i documenti di ciò che importa.

Ad esempio, se impongo x con "import x", voglio eseguire questo comando e avere i suoi documenti stampati in Python o ipython.

Che cos'è questa funzione di comando?

Grazie.

PS. Non intendo dir(), intendo la funzione che stamperà i documenti per me per vedere e leggere quali funzionalità ecc. Questo modulo x ha.

risposta

17

È possibile utilizzare l'attributo .__doc__ del modulo della funzione:

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) 

entrambi help() ans __doc__ lavorare bene su entrambi integrato così come i nostri propri moduli:

di file: 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, grazie ancora e ancora. Ottima spiegazione Ho una piccola domanda però. Diciamo che sono su client ipython e eseguo il comando help e stampa i documenti, come posso tornare a ipython? ;-) escape, backspace, space, enter .. nessun carattere mi riporta indietro tranne la terminazione di ipython. – Phil

+0

@Phil prova 'esc'': '' q' –

13

pydoc foo.bar dalla riga di comando o help(foo.bar) o help('foo.bar') da Python.

+0

Grazie Josh! La tua risposta risolve anche il mio problema, ma per futuri riferimenti per gli altri ho scelto l'altra risposta come "la" risposta dato che contiene un po 'più di informazioni per altri neofiti come me. – Phil

+1

@ josh-lee +1 per aver menzionato l'opzione della riga di comando. Cosa succede se voglio stampare la documentazione del modulo dalla funzione '__main__' di un modulo? –

Problemi correlati