使用Python腳本輕松實現(xiàn)文件的批量重命名
一、引言
在日常工作和學習中,我們經常會遇到需要批量重命名文件的情況。無論是整理照片、文檔還是其他類型的文件,手動一個個修改既費時又容易出錯。今天,我將分享一個簡單而強大的Python腳本,幫助你輕松實現(xiàn)文件的批量重命名。
二、腳本功能概述
這個Python腳本能夠:
- 掃描指定文件夾中的所有圖片文件
- 按照文件名中的數(shù)字順序進行排序
- 從1開始重新編號并重命名所有文件
- 支持多種圖片格式(JPG、JPEG、PNG)
三、代碼
import os
# 圖片所在的絕對路徑(按照自己文件所在的路徑填寫,注意路徑前加r避免轉義問題)
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ù)結束
for i, old_name in enumerate(img_files_sorted, start=1):
# 構建舊文件的完整路徑
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. 準備工作
首先,確保你的計算機上安裝了Python環(huán)境。這個腳本不需要安裝額外的第三方庫,只使用了Python內置的os和re模塊。
2. 修改文件夾路徑
將代碼中的img_folder變量值修改為你需要處理的文件夾路徑:
img_folder = r"你的文件夾路徑"
注意路徑前的r是為了避免轉義問題,例如\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中運行。
到此這篇關于使用Python腳本輕松實現(xiàn)文件的批量重命名的文章就介紹到這了,更多相關Python文件批量重命名內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python人工智能tensorflow構建循環(huán)神經網絡RNN
這篇文章主要為大家介紹了python人工智能tensorflow構建循環(huán)神經網絡RNN,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
解決python ThreadPoolExecutor 線程池中的異常捕獲問題
這篇文章主要介紹了解決python ThreadPoolExecutor 線程池中的異常捕獲問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

