拷贝代码:一键生成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("按任意键退出...")
暂无评论