背景
有时候我们经常需要对某一个文件夹中的文件进行重命名修改,但是我们一个一个取修改将会非常繁琐,所以我们可以先创建一个Excel,其中有两列,
一列表示【源文件名】;一列表示【新文件名】
A列【源文件名】如下粘贴至A列【源文件名】
B列【新文件名】自己写
项目目录
1、文件夹【数据源】:存放待改名的文件
2、文件夹【改名规则】:就是上面那张表
3、文件夹【修改后】:存放修改好的文件
库的介绍
shutil 是 Python 的一个标准库模块,提供了许多高级的文件操作功能。这些功能包括复制、移动、删除以及修改文件和目录等。shutil 模块的设计目的是简化文件管理任务
库的安装
库 | 用途 | 安装 |
---|---|---|
pandas | 读取Excel | pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
os | 获取绝对路径 | 内置库无需安装 |
os | 操作文件 | 内置库无需安装 |
核心代码
新 旧 文件名 映射表 读取
1 | df = pd.read_excel(rules_folder + os.listdir(rules_folder)[ 0 ]) |
文件移动 复制
1 | shutil.move(old_file_path, new_file_path) |
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # -*- coding: UTF-8 -*- ''' @Project :文件自定义命名 @File :文件重命名.py @IDE :PyCharm @Author : @Date :2024/11/12 17:57 ''' import os import pandas as pd import shutil # 定义文件夹路径 source_folder = '数据源' rules_folder = './改名规则/' target_folder = '修改后' # 创建目标文件夹,如果不存在 os.makedirs(target_folder, exist_ok = True ) # 读取Excel文件,假设文件名为"rename_rules.xlsx" df = pd.read_excel(rules_folder + os.listdir(rules_folder)[ 0 ]) # 遍历Excel的每一行 for index, row in df.iterrows(): old_name = row[ '源文件名' ] new_name = row[ '新文件名' ] # 构建源文件的完整路径 old_file_path = os.path.join(source_folder, old_name) # 检查源文件是否存在 if os.path.isfile(old_file_path): # 构建新的文件路径 new_file_path = os.path.join(target_folder, new_name) # 移动并重命名文件 shutil.move(old_file_path, new_file_path) print (f "文件 '{old_name}' 已重命名为 '{new_name}' 并移动至文件夹【修改后】。" ) else : print (f "文件 '{old_name}' 未找到,保留在文件夹【数据源】。" ) print ( "文件重命名和移动操作完成!" ) |
进阶版(GUI打包版本)
到此这篇关于Python实现批量文件自定义命名的文章就介绍到这了,更多相关Python文件自定义命名内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!