docutils
bietet publisher functions, um Docutils als Bibliothek zu verwenden.
So könnte docutils.core.publish_string
eine Option für Ihren Anwendungsfall sein.
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">
standardmäßig puplish_string
verwendet einen pseudoxml
Schriftsteller, die Sie in der Ausgabe sehen. Wenn Sie jedoch die einfache Textausgabe von Ihrer Frage haben möchten, benötigen Sie eine benutzerdefinierte Writer-Klasse, die von docutils.writers.Writer
abgeleitet ist. Ich bin mir nicht sicher, wie dies zu implementieren ist, vielleicht könnte die Sphinx
TextWriter ein Ausgangspunkt sein.
Scheint, dass, wenn Sie wirklich nur die einfache Ersetzung benötigen, replace
auf Ihrem Text wäre eine einfachere Lösung, wenn Sie kompliziertere Dinge benötigen, implementieren Sie dies mit Docutils ist auch kompliziert.
Dank dafür funktionieren würde. Es sieht so aus, als wäre dies der einzige Ansatz, ich hatte gehofft, dass es etwas gibt, das bereits verfügbar ist, aber es scheint nicht so. – geographika