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

"""
功能:快速?gòu)?fù)制JPG文件
作者:華衛(wèi)
日期:2025年10月31日
"""
import os
import shutil
"""
shutil是"shell utilities"(shell 工具)的縮寫,它提供了
一系列高級(jí)的文件和目錄操作函數(shù),讓你可以方便地在Python程序
中執(zhí)行類似于操作系統(tǒng)命令行中的文件管理操作,比如復(fù)制、移動(dòng)、
刪除、打包等。
"""
# 獲取當(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)}個(gè)文件:{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()獲取文件列表,過濾出文件后,用戶輸入新文件夾名,程序自動(dòng)創(chuàng)建并復(fù)制所有以 .jpg 結(jié)尾的文件,最后顯示目標(biāo)文件夾內(nèi)容,實(shí)現(xiàn)簡(jiǎn)單高效的圖片批量復(fù)制功能。
運(yùn)行程序,測(cè)試效果

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

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

"""
功能:復(fù)制并統(tǒng)計(jì)圖片
作者:華衛(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)}個(gè)文件:{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}個(gè)圖片文件~')
print(f'[jpg]文件個(gè)數(shù):{cn_jpg}')
print(f'[jpeg]文件個(gè)數(shù):{cn_jpeg}')
print(f'[png]文件個(gè)數(shù):{cn_png}')
print(f'[gif]文件個(gè)數(shù):{cn_gif}')
print(f'[webp]文件個(gè)數(shù):{cn_webp}')
print(f'[bmp]文件個(gè)數(shù):{cn_bmp}')
print(f'\n[{new_dir}]文件夾里的文件:{os.listdir(new_dir)}')
代碼說明:本程序掃描當(dāng)前目錄,統(tǒng)計(jì)并復(fù)制常見格式的圖片文件(JPG、PNG、GIF等)到新建的目標(biāo)文件夾。復(fù)制過程中分類計(jì)數(shù),最后輸出各類圖片數(shù)量及總復(fù)制數(shù),并列出目標(biāo)文件夾內(nèi)容,實(shí)現(xiàn)圖片文件的批量整理與統(tǒng)計(jì)功能。
運(yùn)行程序,測(cè)試效果

查看復(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)}個(gè)文件:{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}個(gè)圖片文件~')
print(f'[jpg]文件個(gè)數(shù):{cn_jpg}')
print(f'[jpeg]文件個(gè)數(shù):{cn_jpeg}')
print(f'[png]文件個(gè)數(shù):{cn_png}')
print(f'[gif]文件個(gè)數(shù):{cn_gif}')
print(f'[webp]文件個(gè)數(shù):{cn_webp}')
print(f'[bmp]文件個(gè)數(shù):{cn_bmp}')
print(f'\n[{new_dir}]文件夾里的文件:{os.listdir(new_dir)}')
代碼說明:本程序?qū)?dāng)前目錄中的圖片文件按類型統(tǒng)計(jì),并復(fù)制到新建目標(biāo)文件夾中,統(tǒng)一重命名為 file_1.jpg、file_2.png 等格式,實(shí)現(xiàn)文件名標(biāo)準(zhǔn)化。復(fù)制過程中分類計(jì)數(shù),最后輸出各類圖片數(shù)量及總數(shù)量,并顯示目標(biāo)文件夾內(nèi)容,便于統(tǒng)一管理圖片文件。
運(yùn)行程序,測(cè)試效果

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

3. 實(shí)戰(zhàn)總結(jié)
本次Python文件操作實(shí)戰(zhàn)通過三個(gè)遞進(jìn)式項(xiàng)目,系統(tǒng)掌握了利用os和shutil模塊進(jìn)行自動(dòng)化文件管理的核心技能。從基礎(chǔ)的JPG文件復(fù)制,到支持多格式圖片的分類統(tǒng)計(jì)與批量復(fù)制,再到實(shí)現(xiàn)統(tǒng)一編號(hào)重命名,逐步提升了文件處理的智能化水平。實(shí)踐過程中,深入理解了os.listdir()、os.path.isfile()、shutil.copy()等關(guān)鍵函數(shù)的應(yīng)用,學(xué)會(huì)了如何通過條件判斷、循環(huán)控制和字符串操作實(shí)現(xiàn)復(fù)雜邏輯。整個(gè)流程實(shí)現(xiàn)了圖片資源的高效整理與標(biāo)準(zhǔn)化管理,不僅提升了數(shù)據(jù)處理效率,也強(qiáng)化了Python在實(shí)際工作中的應(yīng)用能力,為后續(xù)開發(fā)更復(fù)雜的文件管理工具奠定了堅(jiān)實(shí)基礎(chǔ)。
以上就是Python腳本實(shí)現(xiàn)快速整理圖片文件的詳細(xì)內(nèi)容,更多關(guān)于Python文件整理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 使用Python編寫一個(gè)簡(jiǎn)單的自動(dòng)整理文件腳本
- Python實(shí)現(xiàn)全自動(dòng)文件整理的操作教程
- 基于Python開發(fā)一個(gè)交互式文件分類整理工具
- 使用Python進(jìn)行一鍵整理文件,自動(dòng)分類DOCX與PDF
- 使用Python實(shí)現(xiàn)自動(dòng)化整理文件的詳細(xì)教程
- Python自動(dòng)化批量重命名與整理文件系統(tǒng)
- Python重復(fù)文件批量整理工具的設(shè)計(jì)與實(shí)現(xiàn)
- Python基于面向?qū)ο笞鲆粋€(gè)文件夾整理工具
- 詳解Python如何通過文件后綴整理文件夾
相關(guān)文章
pycharm2021激活碼使用教程(永久激活親測(cè)可用)
pycharm2021激活碼是一個(gè)可以輕松幫助用戶免費(fèi)激活pycharm2021.1軟件的文件,雖然說pycharm現(xiàn)在只是推出了2021.1的EAP版,但是如果你想先率先體驗(yàn)一波,那么就可以利用小編提供的這個(gè)激活碼來進(jìn)行使用啦,并這個(gè)激活碼是永久有效的2021-03-03
python運(yùn)算符+條件結(jié)構(gòu)+循環(huán)結(jié)構(gòu)
這篇文章主要介紹了python運(yùn)算符、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu);算術(shù)運(yùn)算符、賦值運(yùn)算符、邏輯運(yùn)算符等一些相關(guān)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-03-03
python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)
這篇文章主要為大家介紹了python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
python cs架構(gòu)實(shí)現(xiàn)簡(jiǎn)單文件傳輸
這篇文章主要為大家詳細(xì)介紹了python cs架構(gòu)實(shí)現(xiàn)簡(jiǎn)單文件傳輸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
對(duì)django 2.x版本中models.ForeignKey()外鍵說明介紹
這篇文章主要介紹了對(duì)django 2.x版本中models.ForeignKey()外鍵說明介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python 進(jìn)程調(diào)用(subprocess)的實(shí)現(xiàn)
在Python編程中,subprocess庫(kù)是一個(gè)功能強(qiáng)大的工具,它允許我們創(chuàng)建新進(jìn)程、連接到其輸入/輸出/錯(cuò)誤管道,并獲取其返回代碼,下面就來詳細(xì)的介紹一下,感興趣的可以了解一下2025-10-10
如何使用python數(shù)據(jù)處理解決數(shù)據(jù)沖突和樣本的選取
這篇文章主要介紹了如何使用python數(shù)據(jù)處理解決數(shù)據(jù)沖突和樣本的選取,其中主要包括 實(shí)際業(yè)務(wù)數(shù)據(jù)沖突、樣本選取問題、數(shù)據(jù)共線性等思路2021-08-08
Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì))
這篇文章主要介紹了Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

