有位朋友說需要將Markdown模式的文件文章多篇合成一篇

要求很簡單,把文件夾中多個txt文檔按順序合併成一個文檔
合併輸出內容格式:
<h3>文檔1文件名稱</h3>
文檔1文件內容
<h3>文檔2文件名稱</h3>
文檔2文件內容
<h3>文檔3文件名稱</h3>
文檔3文件內容
<h3>文檔4文件名稱</h3>
文檔4文件內容
最後效果:

代碼:
🔒 隱藏內容:會員可查看
import os
import markdown
# 獲取輸入和輸出文件夾路徑,如果沒有輸入就使用默認路徑
input_folder = input("請輸入輸入文件夾路徑(默認爲'./text'):") or './text'
output_folder = input("請輸入輸出文件夾路徑(默認爲'./Mytext'):") or './Mytext'
# 檢查輸入和輸出文件夾是否存在,不存在則創建文件夾
os.makedirs(input_folder, exist_ok=True)
os.makedirs(output_folder, exist_ok=True)
# 獲取Markdown文件名列表
md_file_list = [f for f in os.listdir(input_folder) if f.endswith('.txt')]
md_file_list.sort()
# 每四篇文章進行合併
for i in range(0, len(md_file_list), 4):
output_filename = md_file_list[i+3][:-4] + '.txt'
output_path = os.path.join(output_folder, output_filename)
output_list = []
for md_filename in md_file_list[i:i+4]:
with open(os.path.join(input_folder, md_filename), 'r', encoding='utf-8') as md_file:
md_content = md_file.read()
# 將Markdown格式轉換爲html格式
html_content = markdown.markdown(md_content)
title = md_filename[:-4]
output_list.append((title, html_content))
# 寫入輸出文件
with open(output_path, 'w', encoding='utf-8') as output_file:
for title, html_content in output_list:
output_file.write(f"<h3>{title}</h3>\n{html_content}\n")
# 輸出詳細信息
print(f"合成第{i//4+1}篇文章:{output_filename},包含以下四篇文章:")
for title, _ in output_list:
print(title)