gpt4 book ai didi

python - 在记录交互式 session 时如何更改 Sphinx 显示的提示?

转载 作者:太空宇宙 更新时间:2023-11-04 10:55:03 25 4
gpt4 key购买 nike

我目前正在使用 Sphinx记录一个混合语言的项目,这样的文档包括交互式 session 的例子,不仅在 Python 中,而且在 bash 和 Windows 命令行,以及 MATLAB 和其他解释器中。虽然 Pygments 负责很好地突出显示所有内容,但到目前为止,我在文档中包含的所有交互式 session 都以 Python 提示符 >>> 开头的 HTML 输出显示。如何将该提示更改为 $,例如,在记录 bash session 时?


编辑澄清:

如 Sphinx 手册中所述,在“Showing code examples”下,Sphinx 文档的 ReST 源代码可以包含如下代码:

>>> # python code here
>>> print "foo"
foo

此代码然后被转换为标记,如 the documentation of argparse 中演示的那样在 Python 标准库文档中,将 >>> 之后的代码显示为突出显示的代码段。虽然很明显可以用其他提示字符简单地排版未突出显示的 block ,但我想知道如何将 >>> 以外的提示与 the argparse example 中所示的交互式提示样式结合起来.

最佳答案

例如,您可以使用 $ 作为 bash 片段的提示符,但如果您希望很好地突出显示输出,则不能将其用于 Python。

>>>> 被识别为交互式 Python 提示符。但是使用另一个提示将不起作用。 The documentation说:“普通的 Python 代码只有在可解析时才会高亮显示”,类似

$ import sys 

>> import sys 

不像 Python 那样可解析。

可以使用扩展使 Sphinx 接受其他 Python 提示。 ipython directive是一个示例(未经我测试)。


这些例子很适合我:

.. code-block:: bash

$ pwd
/home
$ echo TEST
TEST

.. code-block:: python

>>> import sys
>>> print "X"
X

下面的代码会产生相同的格式和突出显示:

.. highlight:: bash

::

$ pwd
/home
$ echo TEST
TEST

.. highlight:: python

::

>>> import sys
>>> print "X"
X

对于 Python 交互式 session ,实际上不需要额外的标记(除非最近的 .. highlight:: 指令的目标不是 python)。 Sphinx 自动识别 >>>:

>>> import sys
>>> print "X"
X

在没有任何提示的情况下,代码必须位于代码块(或文字 block )中才能正确格式化:

.. code-block:: python

import sys
print "X"

关于python - 在记录交互式 session 时如何更改 Sphinx 显示的提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com