質問

Is there a way of getting the doc string of a python file if I have only the name of the file ? For instance I have a python file named a.py. I know that it has a doc string ( being mandated before) but don't know of its internal structure i.e if it has any classes or a main etc ? I hope I not forgetting something pretty obvious If I know it has a main function I can do it this way that is using import

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

I can't just do it this way:

     filename.__doc__    #it does not work
役に立ちましたか?

解決

You should be doing...

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

or yet simpler...

import a
mydocstring = a.__doc__

他のヒント

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)

And if you need the docstrings of the module your are already in :

import sys
sys.modules[__name__].__doc__
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top