获取任意脚本文件的Python文档字符串

时间:2017-04-20 12:44:28

标签: python inspect docstring

我正在编写一个需要调用脚本的docstring的模块。到目前为止,我已设法使用

获取调用脚本的文件名
import inspect
filename = inspect.stack()[1].filename

可以使用__doc__在调用脚本中找到docstring。从被调用的脚本获取docstring然而并不简单。当然我可以编写一个函数,但这必然会忽略一些不常见的情况。我有办法实际解析调用脚本以找到它的文档字符串(不执行其代码)?

1 个答案:

答案 0 :(得分:1)

基于混沌使用ast的建议,我写了以下内容,似乎效果很好。

import ast

with open(fname, 'r') as f:
    tree = ast.parse(f.read())
docstring = ast.get_docstring(tree)