获取python文件的doc字符串

发布于 2024-12-11 08:00:16 字数 383 浏览 0 评论 0原文

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

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

我不能只这样做:

     filename.__doc__    #it does not work

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱你不解释 2024-12-18 08:00:16

你应该做...

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

或者更简单...

import a
mydocstring = a.__doc__

You should be doing...

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

or yet simpler...

import a
mydocstring = a.__doc__
乄_柒ぐ汐 2024-12-18 08:00:16
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)
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)
烟燃烟灭 2024-12-18 08:00:16

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

import sys
sys.modules[__name__].__doc__

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

import sys
sys.modules[__name__].__doc__
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文