2012-10-24 11 views
19

Wiem, że to pytanie jest bardzo proste, wiem, że musiało to być zadawane wiele razy, a ja przeprowadziłem wyszukiwanie zarówno w SO i Google, ale nie mogłem znaleźć odpowiedzi, prawdopodobnie ze względu na mój brak umiejętności oddania tego, czego szukam, do właściwego zdania.Jak wydrukować dokumentację modułu w języku Python

Chcę móc czytać dokumenty z tego, co importuję.

Na przykład, jeśli importuję x przez "import x", chcę uruchomić to polecenie i mieć jego dokumenty wydrukowane w Pythonie lub ipythonie.

Co to jest ta funkcja polecenia?

Dziękuję.

PS. Nie mam na myśli dir(), mam na myśli funkcję, która faktycznie wydrukuje dokumenty dla mnie, aby zobaczyć i przeczytać, jakie funkcje itp. Ten moduł x ma.

Odpowiedz

17

Można użyć atrybutu modułu funkcji .__doc__:

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) 

Zarówno z help() ans __doc__ działać dobrze zarówno wbudowane jak również nasze własne moduły:

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, dzięki znowu i znowu. Doskonałe wyjaśnienie. Mam jednak małe pytanie. Powiedzmy, że jestem na kliencie ipython i uruchamiam polecenie pomocy, i drukuje dokumenty, jak mam wrócić do ipython? ;-) escape, backspace, space, enter .. żadne znaki nie zabiorą mnie z powrotem z wyjątkiem zakończenia ipython. – Phil

+0

@Phil spróbuj 'esc'': '' q' –

13

pydoc foo.bar z wiersza poleceń lub help(foo.bar) lub help('foo.bar') z Python.

+0

Dziękuję Josh! Twoja odpowiedź rozwiązuje również mój problem, ale dla przyszłego odniesienia dla innych, wybieram drugą odpowiedź jako "odpowiedź", ponieważ zawiera ona nieco więcej informacji dla innych początkujących, takich jak ja. – Phil

+1

@ josh-lee +1 za podanie opcji wiersza poleceń. Co jeśli chcę wydrukować dokumentację modułu z funkcji "__main__" modułu? –

Powiązane problemy