快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」

[[toc]]
[toc]
请写一个python脚本,将当前test目录下的所有.md文件重命名下,文件名以test1.md, test2.md,test3.md…… testn.md,以此类推,请给出完整代码
下面是一个可以将当前目录下 test 文件夹中所有.md 文件按顺序重命名为 test1.md、test2.md… 的 Python 脚本:
批量重命名md文件的Python脚本
这个脚本的功能和特点:
使用时,只需将脚本放在 test 目录的同级目录下运行即可。如果 test 目录中有子目录,脚本不会处理子目录中的.md 文件,只处理 test 目录下直接存放的.md 文件。
1import os
2
3def rename_md_files():
4 # 定义目标目录
5 target_dir = "test"
6
7 # 检查目录是否存在
8 if not os.path.exists(target_dir):
9 print(f"错误:目录 '{target_dir}' 不存在")
10 return
11
12 # 获取目录中所有的.md文件
13 md_files = []
14 for filename in os.listdir(target_dir):
15 # 检查是否是.md文件
16 if filename.endswith(".md"):
17 # 获取完整路径
18 full_path = os.path.join(target_dir, filename)
19 # 确保是文件而不是目录
20 if os.path.isfile(full_path):
21 md_files.append(full_path)
22
23 if not md_files:
24 print(f"在 '{target_dir}' 目录中没有找到.md文件")
25 return
26
27 # 按文件名排序(可选)
28 md_files.sort()
29
30 # 重命名文件
31 for i, old_path in enumerate(md_files, 1):
32 # 构建新文件名
33 new_filename = f"test{i}.md"
34 new_path = os.path.join(target_dir, new_filename)
35
36 # 避免覆盖已存在的文件
37 counter = 1
38 while os.path.exists(new_path):
39 new_filename = f"test{i}_{counter}.md"
40 new_path = os.path.join(target_dir, new_filename)
41 counter += 1
42
43 # 执行重命名
44 os.rename(old_path, new_path)
45 print(f"已重命名: {os.path.basename(old_path)} -> {new_filename}")
46
47 print(f"重命名完成,共处理 {len(md_files)} 个.md文件")
48
49if __name__ == "__main__":
50 rename_md_files()
51 以上脚本,经亲自测试,有效果。2025年9月8日测试

D:\BaiduSyncdisk\脚本\02.Python脚本\02-批量重命名脚本\v2

5000个大md测试文件
(主要可用于测试hugo的性能,进行压测。😜)
开源库位置:
https://cnb.cool/onedayxyy/big-md-test-files
5000个大md测试文件
总共2个目录,每个目录下5000个大md,每个md为206KB,35677词,5024行。
合计0.97GB大。

日历 · 精选 · 友链 · 更多
如果内容对你有帮助,欢迎请我喝杯咖啡 ☕



One的公众号
爱折腾博客的小白