convert markdown 2 code project by python
| import os |
| import re |
| import sys |
| |
| |
| def create_from_file_path(base_dir, file_path, content): |
| |
| dir_path = os.path.join(base_dir, os.path.dirname(file_path)) |
| |
| os.makedirs(dir_path, exist_ok=True) |
| |
| full_file_path = os.path.join(base_dir, file_path) |
| |
| with open(full_file_path, "w", encoding="utf-8") as f: |
| f.write(content) |
| f.close() |
| |
| |
| def get_root_path(path): |
| dir_path = path |
| |
| if os.path.isfile(path): |
| dir_path = os.path.dirname(path) |
| return dir_path |
| |
| |
| if __name__ == "__main__": |
| md_file_path = sys.argv[1] |
| base_dir = get_root_path(md_file_path) |
| |
| with open(md_file_path, "r", encoding="utf-8") as f: |
| md_text = f.read() |
| |
| |
| pattern = r"^# `(.+)`\n{1,}```(?:\w{2,}\n)([\s\S]+?)\n{1,}```\n{1,}" |
| matches = re.findall(pattern, md_text, re.MULTILINE) |
| |
| |
| for i, (file_path, code) in enumerate(matches): |
| print(f"{i}->", file_path) |
| create_from_file_path(base_dir, file_path, code) |
| |
| print(f"=============done_{len(matches)}=============") |
| f.close() |
| |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战