docutils

Sphinx和rst在科研笔记和学术博客中的高效用法

廉价感情. 提交于 2020-08-16 01:52:29
什么是RST? reStructuredText 是扩展名为 .rst 的纯文本文件,含义为"重新构建的文本",也被简称为:RST 或 reST; 是 Python 编程语言的 Docutils 项目的一部分,Python Doc-SIG (Documentation Special Interest Group)。 该项目类似于 Java 的 JavaDoc 或 Perl 的 POD 项目。 Docutils 能够从 Python 程序中提取注释和信息,格式化成程序文档。 .rst 文件类似于.md(Markdown)文件,是轻量级标记语言的一种, 被设计为容易阅读和编写的纯文本,并且可以借助 Docutils 这样的程序进行文档处理, 可以方便地转换为 HTML , Latex, Markdown 等多种格式。 rst在标记功能上比md丰富太多了,而且在Sphinx的框架下可以非常方便地使用各种插件,来实现各种不同特定需求。 比如地学领域最常用的绘图和数据处理软件gmt,其开发团队现在已经开发了适用于Sphinx的插件 sphinx_gmt , 这个插件的功能就是可以直接在rst文件中进行绘图,类似于Sphinx内置的python绘图插件 .. plot:: 。 比如在rst文件中写入如下所示的文字,就可以直接自动根据你的gmt绘图命令将图片绘制好并嵌入到最终生成的html文件

Python 的 RST 文件是什么

淺唱寂寞╮ 提交于 2020-08-07 21:36:59
reStructuredText ( RST 、 ReST 或 reST )是一种用于文本数据的文件格式,主要用于 Python 编程语言社区的技术文档。 它是Python Doc-SIG(Documentation Special Interest Group)的 Docutils 项目的一部分,旨在为 Python 创建一组类似于 Java 的 Javadoc 或 Perl 的 Plain Old Documentation(pod)的工具。Docutils 可以从 Python 程序中提取注释和信息,并将它们格式化为各种形式的程序文档。 从这个意义上说,reStructuredText 是一种轻量级标记语言,其设计目的是(a)文档处理软件(如Docutils)可以处理它,(b)读和写 Python 源代码的程序员很容易读它。 reST 解析器的引用实现是 Python 编程语言中的 Docutils 文本处理框架的一个组件,但是还可以使用其他解析器。 没有正式的 mime 类型注册为 reStructuredText,但非官方的是 text/x-rst 可以将 RST 文件理解为 Python 使用的 Markup 文件就可以了。 官方的使用手册,请参考链接: https://docutils.sourceforge.io/docs/user/rst/quickstart

Sphinx error in make html

风流意气都作罢 提交于 2020-04-30 09:31:28
问题 I am trying to build a Sphinx documentation for a package but I keep getting errors and could use some help. My project directory is bb_lite and the codes are located in the backend folder. bb_lite ├── 1.0\ docs ├── 2.0\ data ├── README.md └── backend This is how my backend folder looks like . ├── README.md ├── __init__.py ├── __pycache__ │ └── __init__.cpython-36.pyc ├── archive │ ├── cont_pca_transform_w_original_func.py │ └── model_tuner.py ├── automl_pipeline │ ├── __init__.py │ ├── flow

Sphinx error in make html

怎甘沉沦 提交于 2020-04-30 09:30:55
问题 I am trying to build a Sphinx documentation for a package but I keep getting errors and could use some help. My project directory is bb_lite and the codes are located in the backend folder. bb_lite ├── 1.0\ docs ├── 2.0\ data ├── README.md └── backend This is how my backend folder looks like . ├── README.md ├── __init__.py ├── __pycache__ │ └── __init__.cpython-36.pyc ├── archive │ ├── cont_pca_transform_w_original_func.py │ └── model_tuner.py ├── automl_pipeline │ ├── __init__.py │ ├── flow

Python常用的22个包,你都学费了吗?

孤人 提交于 2020-04-28 19:55:09
全球各地的程序员都是怎样使用 Python? 我们从最常用的 Python 包入手,去解答上述这个问题。最初,我列出过去一年在 PyPI 上下载次数最多的 Python 包。接下来,深入研究其用途、它们之间的关系和它们备受欢迎的原因。 1、Urllib3 下载次数:8.93 亿 Urllib3 是一个 Python 的 HTTP 客户端,它拥有 Python 标准库中缺少的许多功能: 线程安全 连接池 客户端 SSL/TLS 验证 使用分段编码上传文件 用来重试请求和处理 HTTP 重定向的助手 支持 gzip 和 deflate 编码 HTTP 和 SOCKS 的代理支持 不要被名字所误导, Urllib3 并不是 urllib2 的后继者,而后者是 Python 核心的一部分。如果你想使用尽可能多的 Python 核心功能,或者你能安装什么东西是受限,那么请查看 urlllib.request。 对最终用户来说,我强烈建议使用 requests 包(参阅列表中的 #6)。这个包之所以会排名第一,是因为有差不多 1200 个包依赖 urllib3,其中许多包在这个列表中的排名也很高。 2、Six 下载次数:7.32 亿 six 是一个是 Python 2 和 3 的兼容性库。这个项目旨在支持可同时运行在 Python 2 和 3 上的代码库。 它提供了许多可简化 Python 2

splitlines()方法

梦想的初衷 提交于 2020-04-11 10:33:27
splitlines()方法 描述 splitlines() 按照行界符('\r', '\r\n', \n'等)分隔,返回一个包含各行作为元素的列表,默认不包含行界符。 能被识别的行界符: 行界符 描述 \n Line Feed 换行 \r Carriage Return 回车 \r\n Carriage Return + Line Feed 回车+换行 \v or \x0b Line Tabulation \f or \x0c Form Feed 换页 \x1c File Separator 文件分隔符 \x1d Group Separator 组分隔符 \x1e Record Separator 记录分隔符号 \x85 Next Line (C1 Control Code) \u2028 Line Separator 行分隔符 \u2029 Paragraph Separator 段落分隔符号 语法 splitlines() 方法语法: S.splitlines([keepends=False]) 参数 keepends -- 在输出结果里是否去掉行界符('\r', '\r\n', \n'等),默认为 False,不包含行界符,如果为 True,则保留行界符。 返回值 返回一个包含各行作为元素的列表。 实例 print ( ' HOW\nSOFT\nWORKS '

python-docx 使用教程

最后都变了- 提交于 2020-04-11 07:33:40
快速入门 入门 python-docx 很容易。让我们来看一下基础知识。 官方文档地址请点击 打开文档 你需要的第一件事是工作的文档。最简单的方法是: from docx import Document document = Document() 这将打开一个基于默认“模板”的空白文档,您可以打开并使用现有的Word文档的工作 python-docx ,我们会让事情变得简单。 增加一段 段落是Word的基础。它们用于正文文本,但也用于标题和列表项目(如项目符号)。 这里是添加一个最简单的方法: paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.') 此方法返回对段落的引用,新添加的段落在文档的结尾。新的段落引用被分配给 paragraph 在这种情况下,我将要离开了这一点在下面的例子中,除非我有一个需要它。在你的代码中,通常你不会对项目做任何事情,在添加它,所以没有什么意义,保持引用它挂在周围。 还可以使用一个段落作为“光标”,并在其上直接插入一个新段落: prior_paragraph = paragraph.insert_paragraph_before('Lorem ipsum') 这允许将一个段落插入到文档的中间,这在修改现有文档时通常很重要,而不是从头开始生成。 添加标题

requests---timeout请求超时

橙三吉。 提交于 2020-03-25 09:14:43
3 月,跳不动了?>>>   我们在接口测试的时候,如果因为一些原因,服务器没有给我们响应,我们这边就要在这等着,为了避免等待时间过长,我们可以在请求中加入一个超时时间,毕竟我们每天上班时间这么少,不能一直等下去~ timeout requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应。如果不使用,你的程序可能会永远等待响应 用法:直接在请求框中加入timeout=XX值 小试牛刀 安静请求谷歌搜索服务,因为需要翻墙,这里会请求失败,我们通过for循环多次请求并用rty来捕捉错误异常 # coding:utf-8 import requests import time url = ' https://www.google.com/?hl=zh_CN ' t1 = time.strftime( " %Y-%m-%d %H:%M:%S " , time.localtime()) print ( ' 开始时间: ' + t1) for i in range(1,3 ): try : r = requests.get(url,timeout=5 ) t2 = time.strftime( " %Y-%m-%d %H:%M:%S " , time.localtime()) print ( " 请求成功,请求时间是:{} " .format(t2)) except

docutils/reStructuredText template features

我们两清 提交于 2020-01-16 12:02:43
问题 How could I customize placeholders in my .rst file with actual values? For example, I have example.rst file with following content: Header ------------------------------------ ${custom_text} I want to replace ${custom_text} property with the value this is the value of custom property by running following command: rst2html example.rst -o example.html -Dcustom_text="this is the value of custom property" Also I wonder whether it is possible to customize template using .properties file? For

Overriding the default field name limit in sphinx/docutils

☆樱花仙子☆ 提交于 2020-01-10 10:35:09
问题 I am using sphinx for generating html documentation for a project. I make extensive use of field lists. When generating html, each label/value pair is rendered as a single table row with two cells if the lenght of the label is at most 14 characters. If the label of one pair is longer than 14 characters, the label/values are rendered as two table rows. I want to increase the wrapping limit to a larger value (e.g. 40). I have found that the limit is controlled by the --field-name-limit option