红穆笔记
首頁 語言筆記 Python將mardown轉換爲HTML 代碼備份
語言筆記 python

Python將mardown轉換爲HTML 代碼備份

Python将mardown转换为HTML 代码备份

這玩意折騰了一天才搞定,Markdown踩坑了。

這裏備份一下代碼,避免丟失!

我已經打包成了軟件,需要的自取:

https://www.4s5.cn/archives/1310.html

🔒 隱藏內容:付費閱讀

import os
import re
import logging
import markdown

print("軟件作者QQ:1810216796\n站長技術交流羣:958972323,歡迎大家加入交流!")

# 創建md和html目錄
if not os.path.exists('md'):
    os.makedirs('md')
if not os.path.exists('html'):
    os.makedirs('html')

# 設置日誌記錄
logging.basicConfig(filename='markdown_conversion.log', level=logging.DEBUG,
                    format='%(asctime)s - %(levelname)s - %(message)s', encoding='utf-8')

# 獲取用戶輸入的文件後綴名
md_file_extension = input('請輸入存放Markdown文件的後綴名(如.md):').strip()
if not md_file_extension.startswith('.'):
    md_file_extension = '.' + md_file_extension

# 獲取用戶輸入的HTML文件後綴名
html_file_extension = input('請輸入要生成的HTML文件的後綴名(如.html):').strip()
if not html_file_extension.startswith('.'):
    html_file_extension = '.' + html_file_extension

# 檢查並修復Markdown語法和格式

def check_and_fix_md(md_text, file_name):
    try:
        html_text = markdown.markdown(
            md_text, extensions=['codehilite', 'fenced_code', 'tables'])
        logging.info(f'成功將"{file_name}"轉換爲HTML')
    except Exception as e:
        error_msg = str(e)
        logging.error(f'轉換Markdown文件"{file_name}"時出錯: {error_msg}')
        if error_msg.startswith('unexpected indent'):
            md_text = re.sub(r'\n\s+', '\n', md_text)
        elif error_msg.startswith('expected block end'):
            md_text = re.sub(r'\n\n+', '\n\n', md_text)
        html_text = markdown.markdown(
            md_text, extensions=['codehilite', 'fenced_code', 'tables'])
        logging.info(f'成功將"{file_name}"轉換爲HTML')

    return html_text

# 遍歷md目錄下的Markdown文件,將其轉換爲HTML代碼並保存到html目錄中
for file_name in os.listdir('md'):
    if file_name.endswith(md_file_extension):
        # 讀取Markdown文件
        with open(os.path.join('md', file_name), 'r', encoding='utf-8') as f:
            md_text = f.read()
        # 檢查並修復Markdown語法和格式
        html_text = check_and_fix_md(md_text, file_name)
        # 保存爲HTML文件
        html_file_name = os.path.splitext(file_name)[0] + html_file_extension
        with open(os.path.join('html', html_file_name), 'w', encoding='utf-8') as f:
            f.write(html_text)
        logging.info(f'成功將"{file_name}"轉換爲"{html_file_name}"')
        print(f'成功將"{file_name}"轉換爲"{html_file_name}"')
    else:
        logging.warning(f'文件"{file_name}"不是Markdown文件,已跳過')
        print(f'文件"{file_name}"不是Markdown文件,已跳過')

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

Import "requests" could not be resolved from source

Import "requests" could not be resolved from source 語言筆記 python

這個報錯是在使用Pylance這個Python語言服務器時出現的。其中,"Import "requests" could not be resolved from source"這個錯誤提示表示在你的代碼中引用了requests模塊,但是Pylance無法從源中找到該模塊的位置。可能的原因是你沒有安…
👁 1771
重新安装Python和requests库

重新安裝Python和requests庫 語言筆記 python

如果您遇到了 "Import "requests" could not be resolved from source" 的問題,可以嘗試重新安裝 Python 和 requests 庫。首先,您需要卸載當前的 Python 和 requests 庫。在 Windows 系統上,您可以通過在命令提示…
👁 439
WARNING: Skipping requests as it is not installed.

WARNING: Skipping requests as it is not installed. 語言筆記 python

這個錯誤提示說明你的Python環境中缺少requests庫,而你的代碼中又調用了這個庫,因此Python無法正常執行你的代碼。解決這個問題的方法是安裝requests庫。你可以在命令行中使用pip命令來安裝:pip install requests如果你使用的是Python3,可以使用pip3命令…
👁 2100
python报错,这是什么原因?AttributeError: partially initialized module 'openai' has no attribute 'Completion' (most likely due to a circular import)

python報錯,這是什麼原因?AttributeError: partially initialized module 'openai' has no attribute 'Completion' (most likely due to a circular import) 語言筆記 python

這個錯誤提示表明在導入 openai 模塊和特定的 Completion 屬性時出現了問題,很可能是由於循環導入導致的。出現這個錯誤的原因可能是你的代碼中存在兩個或多個模塊之間相互導入,形成了循環依賴。例如,模塊A導入了模塊B,而模塊B又導入了模塊A。循環導入會導致模塊在加載時無法正確地初始化,從而…
👁 656
python如何打包在Windows上运行?

python如何打包在Windows上運行? 語言筆記 python

在Windows上打包和運行Python程序的最常用方式是使用PyInstaller。PyInstaller是一個免費的、跨平臺的Python應用程序打包工具,可以將Python代碼和其依賴的庫打包成一個獨立的可執行文件,使得在沒有安裝Python解釋器的系統上運行Python程序成爲可能。以下是使…
👁 300
python开发用什么编程软件好?

python開發用什麼編程軟件好? 語言筆記 python

Python開發的編程軟件有很多,以下是一些常用的Python集成開發環境(IDE)和編輯器:PyCharmPyCharm是一個由JetBrains開發的集成開發環境,它專爲Python開發者設計。PyCharm功能強大,提供了代碼補全、調試、版本控制、代碼重構等一系列高級功能,可以幫助開發者提高工…
👁 175

推薦閱讀

响应式装饰装潢装修家装网站模板 0883

響應式裝飾裝潢裝修家裝網站模板 0883 實用收藏 易優模板

此套eyoucms響應式模板適用於裝飾、裝潢、裝修與家裝行業,設計風格現代專業,能夠展示裝修設計案例、施工工藝、材料展示及服務流程。有助於裝修裝飾公司在線上吸引業主,獲取項目。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易…
👁 36
营销型螺纹螺钉电镀机械配件网站模板 0088

營銷型螺紋螺釘電鍍機械配件網站模板 0088 實用收藏 易優模板

一款針對營銷型螺紋螺釘與電鍍機械配件類企業的eyoucms網站模板。設計風格專業精密,能夠展示緊固件產品、電鍍工藝及機械配件。有助於五金製造企業在線上展示產品,吸引工業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優…
👁 36
(自适应手机端)HTML5智能设备pbootcms网站模板 响应式人工智能机器网站源码下载 0492

(自適應手機端)HTML5智能設備pbootcms網站模板 響應式人工智能機器網站源碼下載 0492 實用收藏 pbootcms模板

一款針對智能設備與人工智能機器人的PbootCMS響應式網站模板,支持PC與WAP端。設計風格科技未來感,適合展示AI產品、智能硬件及技術解決方案。有助於智能科技企業在線上樹立前沿品牌形象。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s…
👁 48
响应式陶瓷研磨盘抛光网站模板 0884

響應式陶瓷研磨盤拋光網站模板 0884 實用收藏 易優模板

一款針對陶瓷研磨盤與拋光行業的eyoucms響應式網站模板。設計風格專業精密,能夠展示研磨盤產品、拋光設備及工業應用。有助於磨具製造企業在線上展示產品,吸引工業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CMS(…
👁 35
响应式政府部门单位机构网站模板 0089

響應式政府部門單位機構網站模板 0089 實用收藏 易優模板

此套eyoucms響應式模板適用於政府部門與單位機構,設計風格莊重威嚴,能夠展示政務公開、機構職能、政策法規及新聞動態。有助於政府單位在線上建立官方信息發佈平臺。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CMS(Ey…
👁 59
(自适应手机端)响应式人力资源服务类网站pbootcms模板 企业管理网站源码下载 0493

(自適應手機端)響應式人力資源服務類網站pbootcms模板 企業管理網站源碼下載 0493 實用收藏 pbootcms模板

一款響應式人力資源服務與管理諮詢類PbootCMS網站模板,支持PC與WAP端。設計風格專業穩重,適合人力資源公司、企業管理諮詢機構展示服務。有助於服務機構在線上吸引企業客戶,拓展業務。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.…
👁 36