从文件中获取Python文档字符串
项目描述
docstring-extractor
这个库允许解析整个Python文件的文档字符串。它使用ast和docstring-parser。
这个库与docstring-parser的主要区别在于,这个库能够解析整个Python文件。
安装
pip install docstring-extractor
使用
>>> from canonicalwebteam.docstring_extractor import get_docstrings
>>>
>>> with open("example.py") as file:
... docstrings = get_docstrings(file)
假设您有以下Python代码
"""
Example module.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
"""
def test_function():
"""
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur.
Parameters:
a (int): A decimal integer
b (int): Another decimal integer
Returns:
str: A string containing "foo"
"""
return "foo"
get_docstrings
函数的输出将是一个字典对象
{'type': 'Module',
'name': 'example',
'line': 0,
'docstring': <docstring_parser.common.Docstring at 0x7f06adee7a00>,
'docstring_text': 'Example module.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua.',
'content': [
{'type': 'Function',
'name': 'test_function',
'line': 9,
'docstring': <docstring_parser.common.Docstring at 0x7f06adef7490>,
'docstring_text': 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\nveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\ncommodo consequat. Duis aute irure dolor in reprehenderit in voluptate\nvelit esse cillum dolore eu fugiat nulla pariatur.\n\nParameters:\n a (int): A decimal integer\n b (int): Another decimal integer\n\nReturns:\n str: A string containing "foo"',
'content': []
}
]
}
您可以在这里查看Docstring对象的属性,例如,如果您想获取第一个函数的返回类型和返回描述
>>> docstrings["content"][0]["docstring"].returns.type_name
'str'
>>> docstrings["content"][0]["docstring"].returns.description
'A string containing "foo"'
项目详情
关闭
canonicalwebteam_docstring_extractor-1.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8128e8750fbda3f81a8487b49a7ffdef6cecfdd857772bdd45a2b1f381766b04 |
|
MD5 | a316522d65fccc5b231be099f816a8d6 |
|
BLAKE2b-256 | c44f803975a0a24cf8d29daf9651de78630e4e61df6b425122e103e7e7284e74 |
关闭
canonicalwebteam_docstring_extractor-1.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ecdef2f1a1bfb8e70187839ddecfa3bf08c1e361d3901a94d327a418721c6c6f |
|
MD5 | 986d0084fd633b6f15e10f4ecc8c2b72 |
|
BLAKE2b-256 | 31a9b3488a8979f439cbdc2b5453693d31dc9e9e11875233742fd843ac3a4f7e |