Python>;是否将help()输出保存到格式化的html文件?

Python>;是否将help()输出保存到格式化的html文件?,python,python-2.7,maya,Python,Python 2.7,Maya,我有一个很长的help()函数输出,发现在脚本编辑器中查找内容有点困难。是否可以将help()输出保存为格式化的html文件?是的,可以在Python解释器中使用pydoc模块执行此操作: import pydoc pydoc.writedoc("sys") 此代码将sys模块的文档写入当前目录中的文件sys.html。如果要获取包的文档,则需要使用pydoc.writedocs() 假设您也可以从命令行运行pydoc-w,但如果不包含完整路径,这对我来说不起作用: C:\Python27\L

我有一个很长的help()函数输出,发现在脚本编辑器中查找内容有点困难。是否可以将help()输出保存为格式化的html文件?

是的,可以在Python解释器中使用
pydoc
模块执行此操作:

import pydoc
pydoc.writedoc("sys")
此代码将
sys
模块的文档写入当前目录中的文件
sys.html
。如果要获取包的文档,则需要使用
pydoc.writedocs()

假设您也可以从命令行运行
pydoc-w
,但如果不包含完整路径,这对我来说不起作用:

C:\Python27\Lib\pydoc.py -w sys

另一个值得一提的选项是:将标准输出重定向到一个文件,但这将为您提供一个文本文件而不是html

比如说

import sys
with open("range help.txt","w") as archi:
    t = sys.stdout
    sys.stdout = archi
    help(range)
    sys.stdout = t

非常感谢你的帮助! 好的,我把我从你们所有人那里学到的东西放在一起。 这会将包中的所有内容打印到文本文件中。使阅读和搜索更加容易。我知道这有点像黑客。所以请随时改进它。再次感谢

import sys, os.path, pkgutil, webbrowser
pkgpath ="C:/Users/Haggai/Documents/maya/scripts/mypackage"
my_modules = [name for _, name, _ in pkgutil.walk_packages([pkgpath])]
out_file = 'C:/Users/Haggai/Desktop/History.txt'

with open(out_file,"w") as archi:
    t = sys.stdout
    sys.stdout = archi
    for i in my_modules:
        help(i)
    sys.stdout = t

webbrowser.open('file://' + out_file)
非常感谢你指出科波菲尔,这很有效

tmp_list = dir(oSel)
content = '\n'.join(lines)
with open('C:/Users/Haggai/Desktop/dir.txt',"w") as text_file:
    text_file.write(content ) 

要以脚本形式从任何地方运行pydoc或任何其他模块,您需要执行
python-m[参数]
在本例中,即
python-m pydoc-w sys
非常感谢。我对pydoc模块一无所知。再次感谢。哇。这真的很有效。非常感谢你,科波菲尔!科波菲尔,你的密码工作得很好。我不知道如何在这个评论部分粘贴代码,所以我只是发布了一个答案。谢谢很高兴你喜欢。此外,您还可以选择编辑您的问题以包含新内容。这对help()函数非常有用,但对dir()不起作用。有人知道如何解决这个问题吗?
dir
生成一个字符串列表,它不打印任何内容,因此重定向标准行不起作用,您需要以您喜欢的方式处理该列表。@Copperfield谢谢我在这里粘贴代码时遇到了麻烦,所以我只是更新了上面的答案。非常感谢你的帮助!要将代码放在注释中,您需要将其放在``````之间,但如果是一行代码(如
print“hello”
),则效果会更好,也不要使用内置函数的名称作为变量的名称,如
list
,这样做时会覆盖original@Copperfield知道了。刚刚修好了。今天学到了很多:D再次感谢!除了下面的答案之外,还有其他选项,您可以查看:更多信息。我用狮身人面像做了一个快速的测试,但我发现它和我的口味不符,所以我什么也得不到