如何用Python给指定列表内的文件添加两位数字前缀并保留原名及扩展名
Python实现指定文件批量添加两位数字前缀
核心思路
仅处理你指定列表中的文件,按顺序为每个文件添加01、02格式的两位数字前缀,数字与原文件名用空格分隔,保留原扩展名。用Python内置的os模块即可完成文件系统操作。
完整代码实现
import os # 要处理的文件列表,确保和实际文件名完全一致 target_files = ['pink.pdf', 'orange red.png', 'green yellow.pdf', 'green pink.pdf'] # 目标目录,当前目录用os.getcwd(),也可替换为具体路径比如'C:/your/folder/path' target_dir = os.getcwd() # 遍历文件列表,同时获取从1开始的索引 for idx, filename in enumerate(target_files, start=1): # 拼接完整文件路径 old_path = os.path.join(target_dir, filename) # 检查文件是否存在,避免报错中断 if not os.path.exists(old_path): print(f"跳过:文件 {filename} 不存在") continue # 构造新文件名:两位数字前缀 + 空格 + 原文件名 new_filename = f"{idx:02d} {filename}" new_path = os.path.join(target_dir, new_filename) # 执行重命名 os.rename(old_path, new_path) print(f"已重命名:{filename} -> {new_filename}")
代码关键说明
enumerate(target_files, start=1):让索引从1开始,刚好匹配01、02的序号需求。os.path.join():自动适配不同操作系统的路径分隔符(Windows用\,Linux/macOS用/),避免路径错误。os.path.exists():提前检查文件是否存在,防止因文件缺失导致程序中断。f"{idx:02d} {filename}":格式化字符串生成两位数字前缀,不足两位时自动补0,比如索引1变为01,索引10变为10。
注意事项
- 先备份文件:批量重命名前建议复制文件备份,避免误操作导致文件丢失。
- 文件名匹配:Linux/macOS区分文件名大小写,列表中的文件名需和实际完全一致;Windows不区分,但也建议保持一致。
- 目录路径:若文件不在脚本运行的当前目录,需将
target_dir修改为文件所在的实际路径。
内容的提问来源于stack exchange,提问作者primo
相关产品推荐
相关产品推荐

