12
A
回答
15
Docutils確實包含這樣做的工具。
你可能想要的是在docutils.parsers.rst
對所涉及的詳細信息,請參閱解析器this page。 docutils/examples.py
也有一些例子 - 特別是檢查可能感興趣的internals()
函數。
+1
只需補充一點,Docutils是reStructuredText的參考實現,Sphinx構建於Docutils之上。所以是的,Docutils絕對是這個的正確工具。 – Chris
1
我想延續Gareth Latty的回答。 「你可能想要的是解析器docutils.parsers.rst
」是答案的好起點,但下一步呢?即:
如何在python中解析restructuredtext?
下面是Python的3.6確切的答案和docutils的0.14:
import docutils.nodes
import docutils.parsers.rst
import docutils.utils
def parse_rst(text: str) -> docutils.nodes.document:
parser = docutils.parsers.rst.Parser()
components = (docutils.parsers.rst.Parser,)
settings = docutils.frontend.OptionParser(components=components).get_default_values()
document = docutils.utils.new_document('<rst-doc>', settings=settings)
parser.parse(text, document)
return document
,並可以使用進行處理所產生的文件,例如下面,這將打印文檔中的所有參考文獻:
class MyVisitor(docutils.nodes.NodeVisitor):
def visit_reference(self, node: docutils.nodes.reference) -> None:
"""Called for "reference" nodes."""
print(node)
def unknown_visit(self, node: docutils.nodes.Node) -> None:
"""Called for all other node types."""
pass
以下是如何運行:
doc = parse_rst('spam spam lovely spam')
visitor = MyVisitor(doc)
doc.walk(visitor)
相關問題
- 1. 解析reStructuredText爲HTML
- 2. 如何在python中解析?
- 3. 如何在Python和LXML中解析XML?
- 4. 如何在Nodejs中解析python文件?
- 5. 如何在Python中解析XML
- 6. 如何在python中使用minidom解析器解析xml文件
- 7. 在Python文檔中嵌入reStructuredText文檔
- 8. 如何在Python 2中使用reStructuredText記錄多個返回值?
- 9. 解析/ Python中
- 10. 解析在python
- 11. 解析在Python
- 12. 解析在python
- 13. 解析在Python
- 14. 如何用python解析json?
- 15. Python/JSON:如何解析UnicodeDecodeError
- 16. python如何解析++ x?
- 17. Python如何解析列表?
- 18. 如何在reStructuredText中創建PDF?
- 19. 在python中解析對象
- 20. 在Python中解析網站
- 21. 在Python中解析datetime ..?
- 22. 在python中解析.docx 3
- 23. 在Python中解析RSS
- 24. 在python中解析時間
- 25. 解析兩人在Python中
- 26. 在Python中解析XML
- 27. 在Python中解析log4j
- 28. 在python中解析Django HttpResponse
- 29. 在Python中解析JSON
- 30. 在Python中解析參數
「哪個更好」徵求意見,所以我將它從問題中刪除。 –
重構文字是什麼意思? –
@IonutHulub http://docutils.sourceforge.net/rst.html –