Python 3 實現 Markdown 解析器
項目簡介:我們將使用 Python 3 打造 Markdown 文本解析器,並且程序支持輸出 HTML 格式與 PDF 格式的文件。
本項目完整教程及在線練習地址:Python 3 實現 Markdown 解析器(更多項目請查看Python學習路徑)
一、課程介紹
1.1 知識點
通過本次課程的學習,我們將接觸到以下知識點:
- 正則表達式
- docopt 構建命令行解析器
- 簡單的 HTML 語法
1.2 實驗流程
實驗的流程為:
- 附加依賴安裝
- 編程實現
- 運行程序
1.3 實驗截圖
轉換效果如下:
二、附加依賴安裝
在安裝附加依賴軟體包之前,先更新已安裝的軟體包,避免在安裝的過程中出現問題。
$ sudo apt-get updaten
2.1 安裝 wkhtmltopdf
wkhtmltopdf 是一款能將 HTML 文件轉化為 PDF 文件的工具,支持 UNIX 平台與Windows 平台。
$ sudo apt-get install wkhtmltopdfn
更多參考:
- wkhtmltopdf 官方網站
2.2 安裝 docopt
docopt 是 Python 的一個第三方參數解析庫,可以根據使用者提供的文檔描述自動生成解析器。因此使用者可以用它來定義參數與解析參數。
$ sudo pip3 install docoptn
更多參考:
- docopt 官網
三、項目原理
先來考慮一下該程序需要實現哪些功能。
- 能夠解析命令行參數,根據參數進行相應的處理,比如將目標文件轉換為 HTML 文件或者轉換為 PDF 文件。
- 解析目標文件,輸出 HTML 文件。
- 根據需要將 HTML 文件轉化為 PDF 文件。
對於第一點我們可以使用 docopt 庫來構建命令行解析器,而第三點 HTML 轉換可以使用 wkhtmltopdf 工具來進行轉換。
至於第二點,Markdown 文本解析實際上就是文件翻譯工作,即將 Markdown 中規定的特殊字元根據語法規則轉換成相應的 HTML 標籤,從而實現解析工作。
四、實現步驟
本項目的詳細步驟可在實驗樓查看並在線完成:Python 3 實現 Markdown 解析器
主要實現步驟:
4.1 構建命令行解析器4.2 Markdown 語法規則梳理4.3 run 程序編寫
4.4 編寫 parse()4.5 編寫 test_state()4.6 幾個處理函數4.7 編寫 link_image()完整教程中有全部項目代碼:Python 3 實現 Markdown 解析器
Python學習路徑:Python研發工程師
更多經典的編程練手項目:全部 - 課程 - 實驗樓
微信關注公眾號[實驗樓],手機查看海量項目教程。
推薦閱讀:
※量化策略系列教程:13布林強盜系統
※Python 抽取word文檔中的文本。
※黃哥Python轉載「Python』s super() considered super!」