2012-06-29 18 views
11

输出我有一个Python包,它把从相当大的帮助文本:help(package)如何导出的Python的内置帮助()函数

我想这帮助文本导出到文件中,其显示格式为help(package)

我该怎么办?

+3

你知道的[是pydoc模块] (http://docs.python.org/library/pydoc.html)? – DSM

回答

5

这是一个有点hackish(可能有一个更好的解决方案的地方),但这个工程:

import sys 
import pydoc 

def output_help_to_file(filepath, request): 
    f = file(filepath, 'w') 
    sys.stdout = f 
    pydoc.help(request) 
    f.close() 
    sys.stdout = sys.__stdout__ 
    return 

然后......

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

如果你的帮助。(),你会看到:

Help on _Helper in module site object: 

class _Helper(__builtin__.object) 
| Define the builtin 'help'. 
| This is a wrapper around pydoc.help (with a twist). 

[其余剪断]

所以 - 你应该看的是pydoc模块 - 那里将是一种或多种方法那什么样的回报呢help(something)作为一个字符串...

11

pydoc.render_doc(事)得到的东西的帮助文本字符串。 pydoc的其他部分(如pydoc.text和pydoc.html)可以帮助您将其写入文件。

在linux中使用-w修饰符会将输出写入当前目录中的html中,例如;

pydoc -w Rpi.GPIO 

把所有的help()文本将从命令help(Rpi.GPIO)呈现成具有良好格式文件Rpi.GPIO.html,在外壳的当前目录

+3

这实际上比选择的答案容易一些。 –

+1

我发现选择的答案不是很好,使用这篇文章,我对pydocs进行了一些研究,并用我的确切解决方案编辑了这个答案。 – davidhood2

+0

好的,谢谢。我不知道有一个命令行工具可以使用它。 –