geo*_*ika 7 python restructuredtext docutils
我想采用以下包含替换定义的重构文本片段:
text = """
|python|
.. |python| image:: python.jpg
"""
Run Code Online (Sandbox Code Playgroud)
并解析定义,以便显示替换文本:
resolved_text = """
.. image:: python.jpg
"""
Run Code Online (Sandbox Code Playgroud)
在docutils或其他模块中是否有可以执行此操作的函数或实用程序?
docutils提供发布者功能以使用 docutils 作为库。
因此,使用docutils.core.publish_string可能是您的用例的一个选项。
In [90]: from docutils import core
In [91]: text = '|python|\n\n.. |python| image:: python.jpg\n'
In [92]: print core.publish_string(text)
<document source="<string>">
<paragraph>
<image alt="python" uri="python.jpg">
<substitution_definition names="python">
<image alt="python" uri="python.jpg">
Run Code Online (Sandbox Code Playgroud)
默认情况下puplish_string使用pseudoxml编写器,您可以在输出中看到它。但是,如果您确实想从问题中获得纯文本输出,则需要一个从docutils.writers.Writer. 我不确定如何实现这一点,也许 TextWriterSphinx 可能是一个起点。
似乎如果您真的只需要简单的替换,那么replace在文本上使用将是一个更简单的解决方案,如果您需要更复杂的东西,使用 docutils 实现它也很复杂。
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |