Python實現(xiàn)復(fù)制圖片到指定文件夾并按順序重新命名
最近要做一個圖像生成的課題,在網(wǎng)上找了一個混合的數(shù)據(jù)集。這個數(shù)據(jù)集中一共有360個文件夾,然后文件夾中有6-9張不等的照片,我的目標(biāo)就是編寫python代碼將所有的照片取出來,放到一個指定的文件夾里,并且從1開始按照順序進(jìn)行編號。
該數(shù)據(jù)集有360個文件夾

每個文件夾下面有數(shù)量不等的照片:

解決代碼如下:
import os
import shutil
path1 = r"F:\cyclegan\新建文件夾\Dataset_Part1"
pic=os.listdir(path1)
k=0
for i in range(1,len(pic)):
path="F:/cyclegan/新建文件夾/Dataset_Part1"+"/"+str(i)
pic2 = os.listdir(path)
for j in range(1, len(pic2)):
k=k+1
shutil.copy(path+"/"+str(j)+".jpg", "F:/cyclegan/新建文件夾/zong" + "/" + str(k) + ".jpg")
使用兩個for循環(huán)即可解決問題:
1)os.listdir(path)方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。這里輸入print(len(pics))就可以返回這個文件夾中文件的數(shù)量。
2)shutil.copy(path1,path2)把path1的文件復(fù)制到path2
3)寫path路徑的時候,如何其中存在循環(huán)的變量i作為名稱的話(比如1.jpg,2.jpg…),i前面一定要有str,不然會報錯(也就是將int型轉(zhuǎn)為str型)
當(dāng)然還遇到了另外一個問題,就是某個文件夾里的照片多了,我需要刪除一些。
比如2000+張?zhí)暨x344張,復(fù)制到另外一個文件夾。
代碼解決如下:
import os
import shutil
import random
path1 = r"F:\cyclegan\新建文件夾\zong2"
pic=os.listdir(path1)
j=0
for i in range(1,345):
number = random.randint(1,len(pic))
j=j+1
shutil.copy(path1 + "/" + str(number) + ".jpg", "F:/cyclegan/新建文件夾/testA" + "/" + str(j) + ".jpg")
1)這里使用隨機(jī)數(shù)進(jìn)行動態(tài)選擇 random。random.randint用來生成整數(shù)
2)shutil.copy依然是復(fù)制
到此這篇關(guān)于Python實現(xiàn)復(fù)制圖片到指定文件夾并按順序重新命名的文章就介紹到這了,更多相關(guān)Python復(fù)制圖片到指定文件夾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)中文文本關(guān)鍵詞抽取的三種方法
文本關(guān)鍵詞抽取,是對文本信息進(jìn)行高度凝練的一種有效手段,通過3-5個詞語準(zhǔn)確概括文本的主題,幫助讀者快速理解文本信息,本文分別采用TF-IDF方法、TextRank方法和Word2Vec詞聚類方法,利用Python語言進(jìn)行開發(fā),實現(xiàn)文本關(guān)鍵詞的抽取,需要的朋友可以參考下2024-01-01
使用SAE部署Python運(yùn)行環(huán)境的教程
這篇文章主要介紹了使用SAE部署Python運(yùn)行環(huán)境的教程,SAE作為新浪的在線軟件部署平臺,在國內(nèi)擁有一定的性價比,需要的朋友可以參考下2015-05-05
編寫Python小程序來統(tǒng)計測試腳本的關(guān)鍵字
這篇文章主要介紹了編寫Python小程序來統(tǒng)計測試腳本的關(guān)鍵字的方法,文中的實例不僅可以統(tǒng)計關(guān)鍵字?jǐn)?shù)量,還可以按主關(guān)鍵字來歸類,需要的朋友可以參考下2016-03-03
python kmeans聚類簡單介紹和實現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python kmeans聚類簡單介紹和實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
python對html代碼進(jìn)行escape編碼的方法
這篇文章主要介紹了python對html代碼進(jìn)行escape編碼的方法,涉及Python中escape方法的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-05-05
如何使用yolov5輸出檢測到的目標(biāo)坐標(biāo)信息
YOLOv5是一系列在 COCO 數(shù)據(jù)集上預(yù)訓(xùn)練的對象檢測架構(gòu)和模型,下面這篇文章主要給大家介紹了關(guān)于如何使用yolov5輸出檢測到的目標(biāo)坐標(biāo)信息的相關(guān)資料,需要的朋友可以參考下2022-03-03
Python seek()和tell()函數(shù)的具體使用
本文主要介紹了Python seek()和tell()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

