获取Python文件的文档字符串

7 投票
3 回答
5791 浏览
提问于 2025-04-17 04:45

有没有办法在只知道一个Python文件名的情况下获取它的文档字符串?比如说,我有一个叫做a.py的Python文件。我知道它有文档字符串(因为之前是必须的),但我不知道它的内部结构,比如里面有没有类或者主函数等?我希望我没有忘记什么很明显的东西。如果我知道它有一个主函数,我可以用这种方法来获取文档字符串,也就是通过导入。

     filename = 'a.py'
     foo = __import__(filename)
     filedescription = inspect.getdoc(foo.main())

但我不能仅仅这样做:

     filename.__doc__    #it does not work

3 个回答

1

如果你需要查看你当前所在模块的文档字符串:

import sys
sys.modules[__name__].__doc__
8
import ast

filepath = "/tmp/test.py"

file_contents = ""
with open(filepath) as fd:
    file_contents = fd.read()
module = ast.parse(file_contents)
docstring = ast.get_docstring(module)
if docstring is None:
    docstring = ""

print(docstring)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

8

你应该这样做...

foo = __import__('a')
mydocstring = foo.__doc__

或者更简单的方法是...

import a
mydocstring = a.__doc__

撰写回答