comando de Python para imprimir cadenas de documentos en el archivo

4

¿Cuál es la línea de comando para imprimir las cadenas de documentos en un archivo Python dado?

Pensé que había algo como:

$ python --showhelp foo.py

Name                 Help
--------------------------------------------------
bar                  This is the docstring for bar().
baz                  This is the docstring for baz().

Gracias.

tony19
fuente
Nunca he visto nada que pueda hacer esto mientras he estado codificando en Python. Creo que tiene que hacer un analizador usted mismo o abrir Idle y usar la función incorporada help ().
Mogget
Respuesta similar a @Mogget, solo he visto print ClassName.__doc__o print ClassName.Method.__doc__, lo que significa que podría hacer un analizador con bastante facilidad.
nerdwaller

Respuestas:

5

Lo encontré: pydoc

Para este archivo de ejemplo:

# foo.py

def bar():
  """this is the docstring for bar()"""
  print 'hello'


def baz():
  """this is the docstring for baz()"""
  print 'world'

Puede imprimir las cadenas de documentos para stdout con este comando:

$ pydoc ./foo.py
Help on module foo:

NAME
    foo

FILE
    /path/to/foo.py

FUNCTIONS
    bar()
        this is the docstring for bar()

    baz()
        this is the docstring for baz()

También puede generar un archivo de ayuda HTML:

$ pydoc -w ./foo.py
wrote foo.html

que se ve así:

ingrese la descripción de la imagen aquí

tony19
fuente
Tenga en cuenta que el ./es importante; de lo contrario no habrá salida.
dehmann