拷贝代码:一键生成md文件夹.py

import os
import re
import shutil
import datetime
import time
def process_markdown_files():
start_num = 10
current_num = start_num
# 确保输出目录存在
os.makedirs('output', exist_ok=True)
# 获取data目录下所有Markdown文件(包含完整路径)
data_dir = 'data'
md_files = [f for f in os.listdir(data_dir)
if os.path.isfile(os.path.join(data_dir, f)) and f.lower().endswith('.md')]
print(f"找到 {len(md_files)} 个Markdown文件")
for filename in md_files:
time.sleep(0.5) # 每次处理间隔0.5秒
# 创建带序号的文件夹
folder_name = f"output/{current_num}.zblog_{current_num}"
os.makedirs(folder_name, exist_ok=True)
# 构建源文件的完整路径
src_path = os.path.join(data_dir, filename)
# 目标文件路径
dest_file = os.path.join(folder_name, 'item.md')
# 复制文件(使用完整源路径)
shutil.copy2(src_path, dest_file)
print(f"已复制: {src_path} -> {dest_file}")
# 处理文件内容
with open(dest_file, 'r+', encoding='utf-8') as f:
content = f.readlines()
modified = False
# 只检查前5行
for i in range(min(5, len(content))):
# 匹配 visible: true
if re.match(r'^\s*visible\s*:\s*true\s*$', content[i], re.IGNORECASE):
# 替换为 visible: false
content[i] = re.sub(
r'(visible\s*:\s*)true',
r'\1false',
content[i],
flags=re.IGNORECASE
)
# 获取当前时间, 格式为 "2025-01-01 00:00"
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
# 插入新的元数据
new_content = content[:i+1] + [
f"date: '{current_time}'\n",
'taxonomy:\n',
' category:\n',
' - 其他\n',
' tag:\n',
' - 其他\n',
'autoseo:\n',
' enabled: true\n'
] + content[i+1:]
# 重新写入文件
f.seek(0)
f.truncate()
f.writelines(new_content)
modified = True
print(f"已修改: {dest_file}")
break
if not modified:
# 没有修改时保持原内容
f.seek(0)
f.truncate()
f.writelines(content)
current_num += 1
print(f"处理完成!共生成 {current_num - start_num} 个文件夹")
if __name__ == '__main__':
process_markdown_files()
input("按任意键退出...")