问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python 程序有什么好的自动从注释生成文档的方法

发布网友 发布时间:2022-04-30 06:00

我来回答

4个回答

懂视网 时间:2022-05-06 10:30

目录索引

example1对应sphinx.rst所在目录下的example1.rst文件,example2类似。

rst如下:

.. toctree::
 :maxdepth: 2
 example1
 example2

效果如下:

  • 二级标题1
  • 二级标题2
  • 引用

    可以用于跨rst文档间的内容互相引用。这里以本文档内为例。

    rst如下:

    .. _my-reference-label:
    用Sphinx编写技术文档
    ====================
    很长的文字内容
    点击回到顶部, :ref:`my-reference-label`.
    

    效果如下:

    点击回到顶部, 用Sphinx编写技术文档 .

    文字效果

    斜体

    rst如下:

    *斜体*
    

    效果如下:

    斜体

    粗体

    rst如下:

    **粗体**
    

    效果如下:

    粗体

    下标

    斜杠是为了空格转义,最后显示无空格。

    rst如下:

    H :sub:`2` O
    

    效果如下:

    H2O

    上标

    rst如下:

    E = mc :sup:`2`
    

    效果如下:

    E = mc2

    参见

  • 更多说明,详见rst文档:http://docutils.sourceforge.net/rst.html
  • 另外,这本书本身就是个示例:https://github.com/akun/pm
  • Hello World

    根据上面的介绍,其实常用的语法不多,现在直接用下,自己感受下吧!

    安装 & 初始化

    常用Python安装方式,创建个文件夹,执行命令,按提示自己选择即可。

    pip install Sphinx
    mkdir docs
    cd docs
    sphinx-quickstart
    

    根据提示输入相应参数即可,可以一路默认。

    尝试编辑

    编辑index.rst,只写入以下内容

    用Sphinx编写技术文档
    ====================
    使用场景
    --------
    

    生成HTML

    很简单,默认支持就很好。

    make html
    python -m SimpleHTTPServer 9527
    

    直接浏览器访问9527端口,就可以看到类似Python官方文档的效果。

    生成PDF

    麻烦些,需要依赖库,且需要简单修改下配置。

    1. 安装依赖库

    pip install rst2pdf
    

    1. 编辑conf.py,增加或修改如下配置:
    2. 编辑Makefile,增加如下代码:

    Linux下的Makefie:

    Windows下的批处理:

    1. 执行生成PDF

    make pdf
    python -m SimpleHTTPServer 9527
    

    参见

    有关PDF的更多配置,可以阅读这个文档:http://ralsina.me/static/manual.pdf

    生成Slide

    Slide就是我们常说的演示文档,如:Windows下的PowerPoint(PPT);Mac下Keynote等等。这里用Sphinx生成在线的HTML5形式的Slide,操作也相对简单,也是需要依赖库和简单修改下配置。

    1. 安装依赖库

    pip install hieroglyph
    

    1. 编辑conf.py,修改如下配置:
    2. 编辑Makefile,增加如下代码:

    Linux下的Makefie:

    1. 执行生成Slides

    make slides
    python -m SimpleHTTPServer 9527
    

    参见

    有关Slide的更多信息,可以直接查看这个项目:https://github.com/nyergler/hieroglyph

    自定义样式

    直接拿来主义,直接用别人写的Trac的样式

    1. 复制样式文件到静态资源目录,比如,这里是:

    cp tracsphinx.css _static/
    

    1. 编辑conf.py,增加或修改如下配置:
    2. 执行生成HTML

    make html
    python -m SimpleHTTPServer 9527
    

    直接浏览器访问9527端口,就可以看到类似Trac的官方样式效果。

    汇总到一块

    可以直接看Python项目模板:https://github.com/akun/aproject/只看docs目录即可。

    这里提到的几个核心文件示例如下:

  • index.rst
  • conf.py
  • Makefile
  • css
  • 另外推荐一个服务:https://readthedocs.org/

    如果你的项目研发文档用Sphinx写的,可以用来做文档的持续集成,相当方便。

    这个《软件构建实践系列》就是用的这个服务。

    最后

    这是一篇很简单的项目推广文章,在自己的Python项目中把Sphinx用起来吧!

    当然Sphinx不仅支持Python源码的Domain,而且支持C、C++、JavaScript等Domain,即使没有你所用的语言的Domain,它本身还支持写插件扩展,所以其它类型语言的项目也不妨用一下。

    注解

    这篇是个人总结的《软件构建实践》系列的一篇文章,更多更新内容,可以直接在线查看:http://pm.readthedocs.org。并且部分内容已经公布在GitHub上:https://github.com/akun/pm

    热心网友 时间:2022-05-06 07:38

    你可以使用doxygen或者Sphinx,现在python文档就是使用Sphinx生成的,你可以到官网看一下具体的使用方法。

    热心网友 时间:2022-05-06 08:56

    python有专门的模块:pydoc 来生成文档。用法很容易查到。

    热心网友 时间:2022-05-06 10:31

    Sphinx 大部分文档都是它生成的 http://sphinx-doc.org/#
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 装修时光纤如何布线,墙上如何留接口 电信光纤信息面板怎么用 电信光纤20M入户,只有一条线。有什么方法可以把光纤连接到墙上的电话面板中 小鹿斑比的简笔画图片 光纤面板盒与光纤面板 有什么区别???怎么使用? 关于光纤入户室内如何布线的问题! 亲们,谁知道光纤从墙里出来,怎么接面板 家里墙上接光纤的那个面板叫什么,怎么安装 光纤面板快速连接器和皮线光缆怎么连接 面板上光纤头如何与光猫对接 现代网络小说中有没有令你心动的句子或诗词? 急!!!八月迷情 观后感 你是否因为一个故事而喜欢上了一首歌? 无人赴约是哪一年的 关税有利于美国经济发展 绿色关税的中国绿色关税现状和问题分析 关税与非关税壁垒的应用前景 GOOGLE的安全搜索功能在哪里可以改掉 在哪儿关谷歌google安全搜索功能 中国关税的现状是如何? ADSL光纤入户,可否在墙上安装光纤面板 python os模块不会自动补全是什么原因? 华为p30微信录的视频存在uc浏览器里怎么删除? 这个珊瑚手串是真的吗? 华为p30微信录的视频在uc浏览器里怎么删除? 哪些明星在金庸武侠剧塑造了经典角色? 赵丽颖的有匪能重新给武侠剧带动武侠迷们的热情吗? 全明星阵容出演,让人追忆年少轻狂,是易被忽略的武侠作品吗? 随着武打明星的老去,武侠电影还有未来吗 求带着游戏或其他系统穿越或重生的耽美文 推荐几本男主角是明星的小说 为何现在拍不出《天下第一》这种武侠电视剧? 在国内娱乐圈中对影坛最有影响力的几位明星,成龙上榜,都有谁呢? 随着老一辈的武打明星的老去,安志杰能担新一代的武打明星重任吗? 主角做着时光机到古代武侠世界然后带着金庸武侠小说里的人物来到现代生活 欧盟gmp认证是什么 番茄小说初中生可以阅读吗 谁知道GMP是什么意思 或是什么的缩写? 怎么考取会计资格证书 怎么申请会计从业资格证