Python實(shí)現(xiàn)批量文件自定義命名
背景
有時(shí)候我們經(jīng)常需要對某一個(gè)文件夾中的文件進(jìn)行重命名修改,但是我們一個(gè)一個(gè)取修改將會(huì)非常繁瑣,所以我們可以先創(chuàng)建一個(gè)Excel,其中有兩列,
一列表示【源文件名】;一列表示【新文件名】

A列【源文件名】如下粘貼至A列【源文件名】

B列【新文件名】自己寫

項(xiàng)目目錄
1、文件夾【數(shù)據(jù)源】:存放待改名的文件
2、文件夾【改名規(guī)則】:就是上面那張表
3、文件夾【修改后】:存放修改好的文件

庫的介紹
shutil 是 Python 的一個(gè)標(biāo)準(zhǔn)庫模塊,提供了許多高級(jí)的文件操作功能。這些功能包括復(fù)制、移動(dòng)、刪除以及修改文件和目錄等。shutil 模塊的設(shè)計(jì)目的是簡化文件管理任務(wù)
庫的安裝
| 庫 | 用途 | 安裝 |
|---|---|---|
| pandas | 讀取Excel | pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| os | 獲取絕對路徑 | 內(nèi)置庫無需安裝 |
| os | 操作文件 | 內(nèi)置庫無需安裝 |
核心代碼
新 \ 舊 文件名 映射表 讀取
df = pd.read_excel(rules_folder+os.listdir(rules_folder)[0])
文件移動(dòng) \ 復(fù)制
shutil.move(old_file_path, new_file_path)
完整代碼
# -*- 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 = '數(shù)據(jù)源'
rules_folder = './改名規(guī)則/'
target_folder = '修改后'
# 創(chuàng)建目標(biāo)文件夾,如果不存在
os.makedirs(target_folder, exist_ok=True)
# 讀取Excel文件,假設(shè)文件名為"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['新文件名']
# 構(gòu)建源文件的完整路徑
old_file_path = os.path.join(source_folder, old_name)
# 檢查源文件是否存在
if os.path.isfile(old_file_path):
# 構(gòu)建新的文件路徑
new_file_path = os.path.join(target_folder, new_name)
# 移動(dòng)并重命名文件
shutil.move(old_file_path, new_file_path)
print(f"文件 '{old_name}' 已重命名為 '{new_name}' 并移動(dòng)至文件夾【修改后】。")
else:
print(f"文件 '{old_name}' 未找到,保留在文件夾【數(shù)據(jù)源】。")
print("文件重命名和移動(dòng)操作完成!")
進(jìn)階版(GUI打包版本)

到此這篇關(guān)于Python實(shí)現(xiàn)批量文件自定義命名的文章就介紹到這了,更多相關(guān)Python文件自定義命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理詳細(xì)分析
這篇文章主要介紹了Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02
pytorch教程實(shí)現(xiàn)mnist手寫數(shù)字識(shí)別代碼示例
這篇文章主要講解了pytorch教程中如何實(shí)現(xiàn)mnist手寫數(shù)字識(shí)別,文中附有詳細(xì)的代碼示例,test準(zhǔn)確率98%,有需要的朋友可以借鑒參考下2021-09-09
通過實(shí)例解析Python RPC實(shí)現(xiàn)原理及方法
這篇文章主要介紹了通過實(shí)例解析Python RPC實(shí)現(xiàn)原理及方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Python?Nuitka打包的實(shí)現(xiàn)步驟
在Python應(yīng)用程序開發(fā)中,打包是將代碼和依賴項(xiàng)組合成可執(zhí)行文件或庫的關(guān)鍵步驟之一,本文主要介紹了Python?Nuitka打包的實(shí)現(xiàn)步驟,感興趣的可以了解一下2023-12-12
Python解析器Cpython的GIL解釋器鎖工作機(jī)制
這篇文章主要為大家介紹了Cpython的GIL解釋器鎖工作機(jī)制掌握示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Nginx搭建HTTPS服務(wù)器和強(qiáng)制使用HTTPS訪問的方法
這篇文章主要介紹了Nginx搭建HTTPS服務(wù)器和強(qiáng)制使用HTTPS訪問的方法,即從HTTP跳轉(zhuǎn)到HTTPS,需要的朋友可以參考下2015-08-08
詳解python requests中的post請求的參數(shù)問題
這篇文章主要介紹了詳解python requests中的post請求的參數(shù)問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Python?Asyncio中Coroutines,Tasks,Future可等待對象的關(guān)系及作用
這篇文章主要介紹了Python?Asyncio中Coroutines,Tasks,Future可等待對象的關(guān)系及作用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-06-06

