Python腳本實(shí)現(xiàn)快速整理圖片文件
1. 實(shí)戰(zhàn)概述
本實(shí)戰(zhàn)通過三個Python腳本,實(shí)現(xiàn)圖片文件的批量復(fù)制、分類統(tǒng)計與統(tǒng)一重命名。利用os和shutil模塊高效操作文件,自動化整理圖片資源,提升文件管理效率,適用于日常數(shù)據(jù)整理與批量處理場景。
2. 實(shí)戰(zhàn)任務(wù)
2.1 快速復(fù)制JPG文件
創(chuàng)建1_快速復(fù)制JPG文件.py文件

"""
功能:快速復(fù)制JPG文件
作者:華衛(wèi)
日期:2025年10月31日
"""
import os
import shutil
"""
shutil是"shell utilities"(shell 工具)的縮寫,它提供了
一系列高級的文件和目錄操作函數(shù),讓你可以方便地在Python程序
中執(zhí)行類似于操作系統(tǒng)命令行中的文件管理操作,比如復(fù)制、移動、
刪除、打包等。
"""
# 獲取當(dāng)前目錄下的所有條目
all_items = os.listdir(os.getcwd())
# 過濾:只保留文件,排除文件夾
dir_files = [item for item in all_items if os.path.isfile(item)]
print(f'當(dāng)前文件夾里有{len(dir_files)}個文件:{dir_files}')
new_dir = input('\n輸入目標(biāo)文件夾:')
while os.path.exists(new_dir):
print(f"溫馨提示:[{new_dir}]已存在~")
new_dir = input('\n輸入目標(biāo)文件夾:')
os.mkdir(new_dir)
print('\nJPG圖片文件開始復(fù)制……')
for file in dir_files:
if file.endswith('.jpg'):
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]文件已復(fù)制~')
print(f'\n[{new_dir}]文件夾里的文件:{os.listdir(new_dir)}')
代碼說明:本程序用于快速篩選并復(fù)制當(dāng)前目錄下的所有 JPG 圖片文件到新建的目標(biāo)文件夾。通過os.listdir()獲取文件列表,過濾出文件后,用戶輸入新文件夾名,程序自動創(chuàng)建并復(fù)制所有以 .jpg 結(jié)尾的文件,最后顯示目標(biāo)文件夾內(nèi)容,實(shí)現(xiàn)簡單高效的圖片批量復(fù)制功能。
運(yùn)行程序,測試效果

查看復(fù)制在指定文件夾里的圖片文件

2.2 復(fù)制并統(tǒng)計圖片文件
創(chuàng)建2_復(fù)制并統(tǒng)計圖片文件.py文件

"""
功能:復(fù)制并統(tǒng)計圖片
作者:華衛(wèi)
日期:2025年10月31日
"""
import os
import shutil
# 獲取當(dāng)前目錄下的所有條目
all_items = os.listdir(os.getcwd())
# 過濾:只保留文件,排除文件夾
dir_files = [item for item in all_items if os.path.isfile(item)]
print(f'當(dāng)前文件夾里有{len(dir_files)}個文件:{dir_files}')
cn_jpg = 0
cn_jpeg = 0
cn_png = 0
cn_gif = 0
cn_webp = 0
cn_bmp = 0
new_dir = input('\n輸入目標(biāo)文件夾:')
while os.path.exists(new_dir):
print(f"溫馨提示:[{new_dir}]已存在~")
new_dir = input('\n輸入目標(biāo)文件夾:')
os.mkdir(new_dir)
print('\n圖片文件開始復(fù)制……')
for file in dir_files:
if file.endswith('.jpg'):
cn_jpg += 1
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.jpeg'):
cn_jpeg += 1
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.png'):
cn_png += 1
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.gif'):
cn_gif += 1
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.webp'):
cn_webp += 1
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.bmp'):
cn_bmp += 1
shutil.copy(file, new_dir + '/' + file)
print(f'[{file}]已復(fù)制~')
cn = cn_jpg + cn_jpeg + cn_png + cn_gif + cn_webp + cn_bmp
print(f'\n共復(fù)制了{(lán)cn}個圖片文件~')
print(f'[jpg]文件個數(shù):{cn_jpg}')
print(f'[jpeg]文件個數(shù):{cn_jpeg}')
print(f'[png]文件個數(shù):{cn_png}')
print(f'[gif]文件個數(shù):{cn_gif}')
print(f'[webp]文件個數(shù):{cn_webp}')
print(f'[bmp]文件個數(shù):{cn_bmp}')
print(f'\n[{new_dir}]文件夾里的文件:{os.listdir(new_dir)}')
代碼說明:本程序掃描當(dāng)前目錄,統(tǒng)計并復(fù)制常見格式的圖片文件(JPG、PNG、GIF等)到新建的目標(biāo)文件夾。復(fù)制過程中分類計數(shù),最后輸出各類圖片數(shù)量及總復(fù)制數(shù),并列出目標(biāo)文件夾內(nèi)容,實(shí)現(xiàn)圖片文件的批量整理與統(tǒng)計功能。
運(yùn)行程序,測試效果

查看復(fù)制到指定文件夾的各種圖片文件

2.3 圖片文件統(tǒng)一改名
創(chuàng)建3_圖片文件統(tǒng)一改名.py文件

"""
功能:圖片文件統(tǒng)一改名
作者:華衛(wèi)
日期:2025年10月31日
"""
import os
import shutil
# 獲取當(dāng)前目錄下的所有條目
all_items = os.listdir(os.getcwd())
# 過濾:只保留文件,排除文件夾
dir_files = [item for item in all_items if os.path.isfile(item)]
print(f'當(dāng)前文件夾里有{len(dir_files)}個文件:{dir_files}')
cn_jpg = 0
cn_jpeg = 0
cn_png = 0
cn_gif = 0
cn_webp = 0
cn_bmp = 0
counter = 0
new_dir = input('\n輸入目標(biāo)文件夾:')
while os.path.exists(new_dir):
print(f"溫馨提示:[{new_dir}]已存在~")
new_dir = input('\n輸入目標(biāo)文件夾:')
os.mkdir(new_dir)
print('\n圖片文件開始復(fù)制……')
for file in dir_files:
if file.endswith('.jpg'):
counter += 1
cn_jpg += 1
shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.jpg')
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.jpeg'):
counter += 1
cn_jpeg += 1
shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.jpeg')
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.png'):
counter += 1
cn_png += 1
shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.png')
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.gif'):
counter += 1
cn_gif += 1
shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.gif')
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.webp'):
counter += 1
cn_webp += 1
shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.webp')
print(f'[{file}]文件已復(fù)制~')
elif file.endswith('.bmp'):
counter += 1
cn_bmp += 1
shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.bmp')
print(f'[{file}]已復(fù)制~')
print(f'\n共復(fù)制了{(lán)counter}個圖片文件~')
print(f'[jpg]文件個數(shù):{cn_jpg}')
print(f'[jpeg]文件個數(shù):{cn_jpeg}')
print(f'[png]文件個數(shù):{cn_png}')
print(f'[gif]文件個數(shù):{cn_gif}')
print(f'[webp]文件個數(shù):{cn_webp}')
print(f'[bmp]文件個數(shù):{cn_bmp}')
print(f'\n[{new_dir}]文件夾里的文件:{os.listdir(new_dir)}')
代碼說明:本程序?qū)?dāng)前目錄中的圖片文件按類型統(tǒng)計,并復(fù)制到新建目標(biāo)文件夾中,統(tǒng)一重命名為 file_1.jpg、file_2.png 等格式,實(shí)現(xiàn)文件名標(biāo)準(zhǔn)化。復(fù)制過程中分類計數(shù),最后輸出各類圖片數(shù)量及總數(shù)量,并顯示目標(biāo)文件夾內(nèi)容,便于統(tǒng)一管理圖片文件。
運(yùn)行程序,測試效果

查看復(fù)制到指定文件夾并規(guī)范命名的圖片文件

3. 實(shí)戰(zhàn)總結(jié)
本次Python文件操作實(shí)戰(zhàn)通過三個遞進(jìn)式項(xiàng)目,系統(tǒng)掌握了利用os和shutil模塊進(jìn)行自動化文件管理的核心技能。從基礎(chǔ)的JPG文件復(fù)制,到支持多格式圖片的分類統(tǒng)計與批量復(fù)制,再到實(shí)現(xiàn)統(tǒng)一編號重命名,逐步提升了文件處理的智能化水平。實(shí)踐過程中,深入理解了os.listdir()、os.path.isfile()、shutil.copy()等關(guān)鍵函數(shù)的應(yīng)用,學(xué)會了如何通過條件判斷、循環(huán)控制和字符串操作實(shí)現(xiàn)復(fù)雜邏輯。整個流程實(shí)現(xiàn)了圖片資源的高效整理與標(biāo)準(zhǔn)化管理,不僅提升了數(shù)據(jù)處理效率,也強(qiáng)化了Python在實(shí)際工作中的應(yīng)用能力,為后續(xù)開發(fā)更復(fù)雜的文件管理工具奠定了堅實(shí)基礎(chǔ)。
以上就是Python腳本實(shí)現(xiàn)快速整理圖片文件的詳細(xì)內(nèi)容,更多關(guān)于Python文件整理的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用pickle模塊報錯EOFError Ran out of input的解決方法
這篇文章主要介紹了Python使用pickle模塊報錯EOFError Ran out of input的解決方法,涉及Python異常捕獲操作處理相關(guān)使用技巧,需要的朋友可以參考下2018-08-08
python如何用columns參數(shù)獲取DataFrame各列的表頭名
這篇文章主要介紹了python如何用columns參數(shù)獲取DataFrame各列的表頭名問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
如何使用PyCharm將代碼上傳到GitHub上(圖文詳解)
這篇文章主要介紹了如何使用PyCharm將代碼上傳到GitHub上(圖文詳解),文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python pandas 解析(讀取、寫入)CSV 文件的操作方法
這篇文章主要介紹了python pandas 解析(讀取、寫入) CSV 文件,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12
利用Python爬蟲爬取金融期貨數(shù)據(jù)的案例分析
從技術(shù)角度來看,經(jīng)過一步步解析,任務(wù)是簡單的,入門requests爬蟲及入門pandas數(shù)據(jù)分析就可以完成,本文重點(diǎn)給大家介紹Python爬蟲爬取金融期貨數(shù)據(jù)的案例分析,感興趣的朋友一起看看吧2022-06-06
Python 正則表達(dá)式 re.match/re.search/re.sub的使用解析
今天小編就為大家分享一篇Python 正則表達(dá)式 re.match/re.search/re.sub的使用解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
通過OpenCV實(shí)現(xiàn)對指定顏色的物體追蹤
這篇文章主要介紹的是通過OpenCV實(shí)現(xiàn)對特定顏色的物體追蹤,文中實(shí)驗(yàn)用的是綠蘿的樹葉。本文的示例代碼講解詳細(xì),對學(xué)習(xí)OPenCV有一定的幫助,感興趣的小伙伴可以了解一下2021-12-12

