Nie*_*ein 9 python docstring converter epydoc python-sphinx
我有一个项目,我使用epydoc记录.现在我正在尝试切换到狮身人面像.我为epydocs格式化了所有文档字符串,使用B {},L {}等进行粗体,链接等,并使用@ param,@ return,@ raise等来解释输入,输出,异常等.
所以现在我转向sphinx它失去了所有这些功能.有没有一种自动方式将为epydocs格式化的文档字符串转换为为sphinx格式化的文档字符串?
为了扩展Kevin Horn的答案,docstrings可以在autodoc-process-docstring事件触发的事件处理程序中即时翻译.
下面是一个小型演示(通过将代码添加到conf.py来尝试).它取代了@在一些公共字符Epytext字段与:,这是在相应的使用斯芬克斯字段.
import re
re_field = re.compile('@(param|type|rtype|return)')
def fix_docstring(app, what, name, obj, options, lines):
for i in xrange(len(lines)):
lines[i] = re_field.sub(r':\1', lines[i])
def setup(app):
app.connect('autodoc-process-docstring', fix_docstring)
Run Code Online (Sandbox Code Playgroud)
Pyment是一个可以转换Python文档字符串并创建缺失字符串的工具.它可以管理 Google, Epydoc(javadoc样式), Numpydoc, reStructuredText(reST,Sphinx默认)docstring格式.
它接受单个文件或文件夹(也可以浏览子文件夹).对于每个文件,它将识别每个文档字符串格式并将其转换为所需的格式.最后,将生成一个补丁以应用于该文件.
输入以下内容(您可以使用virtualenv):
$ git clone https://github.com/dadadel/pyment.git
$ cd pyment
$ python setup.py install
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作将项目转换为Sphinx格式(reST),这是默认的输出格式:
$ pyment /my/folder/project
Run Code Online (Sandbox Code Playgroud)