使用Python腳本輕松實現(xiàn)文件的批量重命名
一、引言
在日常工作和學(xué)習(xí)中,我們經(jīng)常會遇到需要批量重命名文件的情況。無論是整理照片、文檔還是其他類型的文件,手動一個個修改既費時又容易出錯。今天,我將分享一個簡單而強大的Python腳本,幫助你輕松實現(xiàn)文件的批量重命名。
二、腳本功能概述
這個Python腳本能夠:
- 掃描指定文件夾中的所有圖片文件
- 按照文件名中的數(shù)字順序進(jìn)行排序
- 從1開始重新編號并重命名所有文件
- 支持多種圖片格式(JPG、JPEG、PNG)
三、代碼
import os
# 圖片所在的絕對路徑(按照自己文件所在的路徑填寫,注意路徑前加r避免轉(zhuǎn)義問題)
img_folder = r"D:\python\image"
# 獲取文件夾中所有圖片文件(支持.jpg、.jpeg、.png格式,可根據(jù)需要增減,有其他格式的可以自行增加后綴)
img_formats = ('.jpg', '.jpeg', '.png') # tuple格式,用于判斷文件后綴
img_files = [
f for f in os.listdir(img_folder)
if f.lower().endswith(img_formats) # 忽略大小寫(如.JPG也會被處理)
]
# 如果沒有找到圖片,直接提示并退出
if not img_files:
print("錯誤:在該路徑下未找到任何圖片文件!")
exit()
# 定義函數(shù):從文件名中提取數(shù)字(用于排序)
def get_number_from_filename(filename):
# 例如:"abc123.jpg" 提取123,"45.png"提取45,純數(shù)字文件名直接提取
import re
# 用正則匹配文件名中的數(shù)字(連續(xù)數(shù)字)
num_match = re.search(r'\d+', filename)
if num_match:
return int(num_match.group()) # 返回提取到的數(shù)字
else:
# 如果文件名中沒有數(shù)字,按原文件名排序(避免報錯)
return 0
# 按文件名中的數(shù)字從小到大排序(確保順序正確)
img_files_sorted = sorted(img_files, key=get_number_from_filename)
# 重命名:從1開始編號,到文件總數(shù)結(jié)束
for i, old_name in enumerate(img_files_sorted, start=1):
# 構(gòu)建舊文件的完整路徑
old_path = os.path.join(img_folder, old_name)
# 獲取原文件的后綴(如.jpg、.png)
file_ext = os.path.splitext(old_name)[1]
# 新文件名:序號 + 原后綴(如1.jpg、2.png,可自行修改)
new_name = f"{i}{file_ext}"
new_path = os.path.join(img_folder, new_name)
# 執(zhí)行重命名
os.rename(old_path, new_path)
print(f"已重命名:{old_name} -> {new_name}")
print(f"\n全部完成!共重命名 {len(img_files_sorted)} 個圖片文件")四、使用步驟詳解
1. 準(zhǔn)備工作
首先,確保你的計算機(jī)上安裝了Python環(huán)境。這個腳本不需要安裝額外的第三方庫,只使用了Python內(nèi)置的os和re模塊。
2. 修改文件夾路徑
將代碼中的img_folder變量值修改為你需要處理的文件夾路徑:
img_folder = r"你的文件夾路徑"
注意路徑前的r是為了避免轉(zhuǎn)義問題,例如\n會被識別為換行符,而r"\n"會被識別為兩個字符\和n。
3. 自定義文件格式
如果你的文件不是常見的圖片格式,可以修改img_formats變量來添加或刪除支持的文件格式
img_formats = ('.jpg', '.jpeg', '.png', '.gif', '.bmp') # 添加更多格式4. 運行腳本
保存腳本為.py文件(如rename_files.py),然后在命令行中運行:
python rename_files.py
或者直接在Python IDE中運行。
到此這篇關(guān)于使用Python腳本輕松實現(xiàn)文件的批量重命名的文章就介紹到這了,更多相關(guān)Python文件批量重命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python filter()函數(shù)的使用方法和技巧(數(shù)據(jù)篩選的精密過濾器)
filter()函數(shù)是Python中用于數(shù)據(jù)篩選的核心高階函數(shù),它能夠從可迭代對象中"過濾"出滿足特定條件的元素,相當(dāng)于一個數(shù)據(jù)篩子,下面給大家介紹Python filter()函數(shù)的使用方法和技巧,感興趣的朋友一起看看吧2025-05-05
Python中實現(xiàn)優(yōu)雅的switch操作的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了如何在Python中優(yōu)雅地實現(xiàn)?switch?操作,并提供豐富的示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
Python向Excel中插入圖片的簡單實現(xiàn)方法
這篇文章主要介紹了Python向Excel中插入圖片的簡單實現(xiàn)方法,結(jié)合實例形式分析了Python使用XlsxWriter模塊操作Excel單元格插入jpg格式圖片的相關(guān)操作技巧,非常簡單實用,需要的朋友可以參考下2018-04-04
Python根據(jù)歐拉角求旋轉(zhuǎn)矩陣的實例
今天小編就為大家分享一篇Python根據(jù)歐拉角求旋轉(zhuǎn)矩陣的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
如何使用Python生成4位數(shù)的隨機(jī)數(shù)字
本文討論了如何使用randint() 和randrange() 方法來生成一個四位數(shù)的數(shù)字,此外,我們還討論了另一種擁有隨機(jī)四位數(shù)號碼的途徑,感興趣的朋友跟隨小編一起看看吧2023-10-10
python3實現(xiàn)ftp服務(wù)功能(服務(wù)端 For Linux)
這篇文章主要介紹了python3實現(xiàn)ftp服務(wù)功能,服務(wù)端 For Linux,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
基于python實現(xiàn)matlab filter函數(shù)過程詳解
這篇文章主要介紹了基于python實現(xiàn)matlab filter函數(shù)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06

