安装 markdown 库
安装 markdown 库非常简单,只需要使用 Python 的包管理工具 pip 即可。

步骤 1:打开终端或命令提示符
- Windows: 打开 "命令提示符" (Command Prompt) 或 "PowerShell"。
- macOS / Linux: 打开 "终端" (Terminal)。
步骤 2:执行安装命令
在终端中输入以下命令并按回车:
pip install markdown
验证安装
安装完成后,你可以通过以下命令来验证安装是否成功:
pip show markdown
如果安装成功,终端会显示 markdown 库的版本、位置等信息。
Name: Markdown Version: 3.5.1 Summary: Python implementation of Markdown. Home-page: https://Python-Markdown.github.io/ Author: Manfred Stienstra Author-email: manfred@fngln.nl License: BSD Location: /path/to/your/python/site-packages Requires: Required-by:
提示: 如果你系统中同时存在 Python 2 和 Python 3,你可能需要使用
pip3命令来确保库被安装到 Python 3 的环境中:(图片来源网络,侵删)pip3 install markdown
基本使用
安装完成后,你就可以在 Python 代码中导入并使用它了。
示例代码:basic_usage.py
import markdown
# 定义一段 Markdown 格式的文本
markdown_text = """
# 这是一个一级标题
这是一个 **粗体** 和 *斜体* 的段落。
- 列表项 1
- 列表项 2
- 这是一个嵌套列表项
这是一个 [链接](https://www.python.org)。
```python
# 这是一个代码块
def hello_world():
print("Hello, Markdown!")
使用 markdown 库将其转换为 HTML
html_output = markdown.markdown(markdown_text)
打印转换后的 HTML
print(html_output)
#### 运行结果
当你运行上面的 `basic_usage.py` 文件时,会得到如下输出:
```html
<h1>这是一个一级标题</h1>
<p>这是一个 <strong>粗体</strong> 和 <em>斜体</em> 的段落。</p>
<ul>
<li>列表项 1</li>
<li>列表项 2
<ul>
<li>这是一个嵌套列表项</li>
</ul>
</li>
</ul>
<p>这是一个 <a href="https://www.python.org">链接</a>。</p>
<pre><code class="language-python"># 这是一个代码块
def hello_world():
print("Hello, Markdown!")
</code></pre>
常用扩展
markdown 库的核心功能非常精简,但通过“扩展”(Extensions)可以实现更丰富的功能,比如表格、代码高亮、任务列表等。
如何使用扩展?
你可以在 markdown.markdown() 函数中通过 extensions 参数传入一个扩展名称的列表。
常用扩展示例
a. 表格 (tables)
这个扩展可以让你在 Markdown 中创建表格。
Markdown 文本:
| 姓名 | 年龄 | 职业 | | :--- | :--- | :----- | | 张三 | 28 | 工程师 | | 李四 | 32 | 设计师 |
Python 代码:
import markdown markdown_text = """ | 姓名 | 年龄 | 职业 | | :--- | :--- | :----- | | 张三 | 28 | 工程师 | | 李四 | 32 | 设计师 | """ # 添加 'tables' 扩展 html_output = markdown.markdown(markdown_text, extensions=['tables']) print(html_output)
输出结果:
<table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>职业</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>28</td> <td>工程师</td> </tr> <tr> <td>李四</td> <td>32</td> <td>设计师</td> </tr> </tbody> </table>
b. 代码高亮 (fenced_code 和 codehilite)
fenced_code 允许使用三个反引号(``)来创建代码块,codehilite` 则可以为代码添加语法高亮。
注意: codehilite 扩展需要安装 Pygments 库。
pip install Pygments
Python 代码:
import markdown
markdown_text = """
下面是一段 Python 代码:
```python
def greet(name):
return f"Hello, {name}!"
print(greet("World"))
添加 'fenced_code' 和 'codehilite' 扩展
html_output = markdown.markdown(markdown_text, extensions=['fenced_code', 'codehilite']) print(html_output)
**输出结果 (简化版):**
```html
<p>下面是一段 Python 代码:</p>
<div class="codehilite"><pre><span></span><code><span class="k">def</span> <span class="nf">greet</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Hello, {name}!"</span>
<span class="nb">print</span><span class="p">(</span><span class="n">greet</span><span class="p">(</span><span class="s2">"World"</span><span class="p">))</span>
</code></pre></div>
提示:
codehilite的具体样式(颜色)需要配合 CSS 文件使用,这里只展示了生成的 HTML 结构。
c. 任务列表 (toc 和 nl2br)
toc(Table of Contents): 自动从 Markdown 标题生成目录。nl2br(Newline to BR): 将单个换行符转换为 HTML 的<br>标签,这在某些场景下很有用。
Python 代码:
import markdown markdown_text = """ # 第一章.. ## 1.1 第一节.. # 第二章.. """ # 添加 'toc' 扩展来生成目录 html_output = markdown.markdown(markdown_text, extensions=['toc']) print(html_output)
输出结果:
<div class="toc"> <ul> <li><a href="#chapter-1">第一章</a><ul> <li><a href="#11-first-section">1.1 第一节</a></li> </ul> </li> <li><a href="#chapter-2">第二章</a></li> </ul> </div> <h1 id="chapter-1">第一章</h1>..</p> <h2 id="11-first-section">1.1 第一节</h2>..</p> <h1 id="chapter-2">第二章</h1> <p>最后的内容...</p>
完整示例
下面是一个结合了多种扩展的完整示例。
import markdown
# Markdown 文本
md_content = """
# 我的项目文档
这是一个使用 Python-Markdown 生成的文档。
## 功能列表
- [x] 安装 Markdown 库
- [ ] 编写转换脚本
- [ ] 添加扩展支持
### 表格示例
| 模块 | 状态 |
|------|------|
| 核心功能 | ✅ 完成 |
| 扩展功能 | 🚧 开发中 |
### 代码示例
下面是一个简单的 Python 函数:
```python
def process_data(data):
"""处理数据并返回结果"""
if not data:
return "数据为空"
return f"处理了 {len(data)} 条数据"
# 调用函数
result = process_data([1, 2, 3])
print(result)
定义要使用的扩展列表
extensions = [
'tables', # 支持表格
'fenced_code', # 支持围栏代码块
'codehilite', # 支持代码高亮
'toc', # 自动生成目录
'nl2br', # 单换行符转
'task_list' # 支持任务列表
]
转换 Markdown 为 HTML
html_content = markdown.markdown(md_content, extensions=extensions)
将 HTML 写入一个文件
with open('output.html', 'w', encoding='utf-8') as f: f.write(html_content)
print("HTML 文件已生成: output.html")
运行此脚本后,会在同目录下生成一个 `output.html` 文件,你可以在浏览器中打开它,看到一个格式良好、包含目录、表格和代码高亮的网页。
---
###
1. **安装:** `pip install markdown`
2. **基本用法:** `html = markdown.markdown(md_text)`
3. **高级功能:** 使用 `extensions` 参数,如 `markdown.markdown(md_text, extensions=['tables', 'toc'])`。
4. **常用扩展:** `tables`, `fenced_code`, `codehilite`, `toc`, `task_list`。
5. **注意事项:** 某些扩展(如 `codehilite`)需要额外安装依赖库(如 `Pygments`)。
希望这份详细的指南能帮助你顺利上手 Python 的 `markdown` 库! 
