How do I export the output of Python's built-in help() function How do I export the output of Python's built-in help() function python python

How do I export the output of Python's built-in help() function


pydoc.render_doc(thing) to get thing's help text as a string. Other parts of pydoc like pydoc.text and pydoc.html can help you write it to a file.

Using the -w modifier in linux will write the output to a html in the current directory, for example;

pydoc -w Rpi.GPIO

Puts all the help() text that would be presented from the command help(Rpi.GPIO) into a nicely formatted file Rpi.GPIO.html, in the current directory of the shell


This is a bit hackish (and there's probably a better solution somewhere), but this works:

import sysimport pydocdef output_help_to_file(filepath, request):    f = open(filepath, 'w')    sys.stdout = f    pydoc.help(request)    f.close()    sys.stdout = sys.__stdout__    return

And then...

>>> output_help_to_file(r'test.txt', 're')


An old question but the newer recommended generic solution (for Python 3.4+) for writing the output of functions that print() to terminal is using contextlib.redirect_stdout:

import contextlibdef write_help(func, out_file):    with open(out_file, 'w') as f:        with contextlib.redirect_stdout(f):            help(func)

Usage example:

write_help(int, 'test.txt')