5

如果我只有文件名,有没有办法获取 python 文件的文档字符串?例如,我有一个名为 a.py 的 python 文件。我知道它有一个文档字符串(之前被强制要求)但不知道它的内部结构,即它是否有任何类或主要等?我希望我不会忘记一些非常明显的事情如果我知道它有一个主要功能,我可以通过使用 import 的方式做到这一点

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

我不能这样做:

     filename.__doc__    #it does not work
4

3 回答 3

7

你应该做...

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

或者更简单...

import a
mydocstring = a.__doc__
于 2011-10-21T10:49:52.137 回答
7
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)
于 2018-02-23T08:15:28.130 回答
0

如果您需要模块的文档字符串,您已经在:

import sys
sys.modules[__name__].__doc__
于 2017-11-23T13:06:04.127 回答