python 的 markdown 库是轻量可控的 markdown 转 html 方案,需用 .md 后缀、安装 pip install markdown,命令 python -m markdown input.md > output.html,中文加 -o utf-8,可信内容可启用 --extension=extra 支持 html 标签。

用 Python 的 markdown 库转最常见场景的文本文档
纯文本(比如 README.md 或笔记草稿)想快速变成可读性好的 HTML,markdown 库是最轻量、最可控的选择。它不依赖 Node.js,也不需要配 Webpack,一条命令就能出结果。
常见错误是直接用浏览器打开 .txt 文件——它只会原样显示换行和空格,根本不是“格式化”。真正起作用的是把 Markdown 语法(如 ## 标题、- 列表)翻译成 <h2></h2>、<ul></ul> 这类标签。
- 确保原文本是标准 Markdown:用
.md后缀,别用.txt混淆自己 - 安装只需:
pip install markdown - 基础转换命令:
python -m markdown input.md > output.html - 如果文本里有中文,加
-o utf-8参数避免乱码(Python 3.7+ 通常默认,但老环境要留意)
处理带 HTML 标签或特殊字符的原始文本
有些笔记导出后自带 <div>、<code> 或内联样式,markdown 默认会把这些当普通文字输出,导致页面里看到一堆源码。
这不是 bug,是设计使然:它默认关闭 HTML 解析,防止 XSS。但如果你确定内容可信(比如自己写的本地文档),就得显式开启:
立即学习“前端免费学习笔记(深入)”;
网新企业网站管理系统是专业为个人和企业网站建设而开发的一款智能化程序。该程序基于ASP+ACCESS环境开发,拥有完善的网站前台和后台全智能化管理功能,完全由后台操作(如添加、修改网站基本信息、产品、企业新闻动态等)静态生成前台界面HTML格式网页文件,是个人和企业智能化网站建设首选!
- 用
markdown模块时传参数:extensions=['extra']和output_format='html5' - 命令行加
--extension=extra(注意双横线) - 若含数学公式或表格,额外加
--extension=tables或--extension=md_in_html - 绝对不要对用户提交的文本开启 HTML 解析——这是安全红线
不用 Python?试试系统自带的 pandoc
Mac/Linux 用户如果已装 pandoc,它比 markdown 更泛用,支持从 .txt、.rst、甚至 Word(.docx)直出 HTML。
但它容易踩的坑是默认不保留原始缩进和空行——看起来“格式丢了”,其实是 Pandoc 按 Markdown 规范做了语义化归一。
- 基础命令:
pandoc input.txt -o output.html - 想保留段落间空行:加
--wrap=none - 指定 CSS 样式:
--css=style.css(路径必须存在) - Windows 用户注意:
pandoc安装后需重启终端才生效,否则报'pandoc' is not recognized
手动改 HTML 时绕不开的编码和换行问题
哪怕只是手写几个 <p></p> 标签,也常被 UTF-8 BOM、\r\n 换行符、浏览器缓存卡住——这些不是“前端问题”,是文件底层细节没对齐。
- 用 VS Code 打开 HTML 后,右下角看编码是否为
UTF-8(不是UTF-8 with BOM) - Linux/Mac 下用
file -i filename.html确认编码;Windows 记事本另存时选“UTF-8”而非“ANSI” - 换行符统一用
\n(LF),别混\r\n(CRLF),否则某些静态服务器渲染异常 - 改完刷新页面前,先清浏览器缓存(快捷键
Ctrl+Shift+R),别猜逻辑,先排除缓存干扰
真正麻烦的从来不是“怎么转”,而是转完发现标题没变大、列表没缩进——大概率是 CSS 没加载,或者 <meta charset="utf-8"> 少写了。这种地方查十分钟,比重跑三遍脚本还快。









