Python實(shí)現(xiàn)復(fù)制圖片到指定文件夾并按順序重新命名
最近要做一個(gè)圖像生成的課題,在網(wǎng)上找了一個(gè)混合的數(shù)據(jù)集。這個(gè)數(shù)據(jù)集中一共有360個(gè)文件夾,然后文件夾中有6-9張不等的照片,我的目標(biāo)就是編寫python代碼將所有的照片取出來(lái),放到一個(gè)指定的文件夾里,并且從1開始按照順序進(jìn)行編號(hào)。
該數(shù)據(jù)集有360個(gè)文件夾
每個(gè)文件夾下面有數(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")
使用兩個(gè)for循環(huán)即可解決問(wèn)題:
1)os.listdir(path)方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。這里輸入print(len(pics))就可以返回這個(gè)文件夾中文件的數(shù)量。
2)shutil.copy(path1,path2)把path1的文件復(fù)制到path2
3)寫path路徑的時(shí)候,如何其中存在循環(huán)的變量i作為名稱的話(比如1.jpg,2.jpg…),i前面一定要有str,不然會(huì)報(bào)錯(cuò)(也就是將int型轉(zhuǎn)為str型)
當(dāng)然還遇到了另外一個(gè)問(wèn)題,就是某個(gè)文件夾里的照片多了,我需要?jiǎng)h除一些。
比如2000+張?zhí)暨x344張,復(fù)制到另外一個(gè)文件夾。
代碼解決如下:
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)行動(dòng)態(tài)選擇 random。random.randint用來(lái)生成整數(shù)
2)shutil.copy依然是復(fù)制
到此這篇關(guān)于Python實(shí)現(xiàn)復(fù)制圖片到指定文件夾并按順序重新命名的文章就介紹到這了,更多相關(guān)Python復(fù)制圖片到指定文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python判斷all函數(shù)輸出結(jié)果是否為true的方法
在本篇內(nèi)容里小編給各位整理的是一篇關(guān)于python判斷all函數(shù)輸出結(jié)果是否為true的方法,有需要的朋友們可以學(xué)習(xí)下。2020-12-12python使用Tkinter顯示網(wǎng)絡(luò)圖片的方法
這篇文章主要介紹了python使用Tkinter顯示網(wǎng)絡(luò)圖片的方法,涉及Python操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-04-04Python closure閉包解釋及其注意點(diǎn)詳解
這篇文章主要介紹了Python closure閉包解釋及其注意點(diǎn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Python3實(shí)現(xiàn)zip分卷壓縮過(guò)程解析
這篇文章主要介紹了Python3實(shí)現(xiàn)zip分卷壓縮過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10django 實(shí)現(xiàn)將本地圖片存入數(shù)據(jù)庫(kù),并能顯示在web上的示例
今天小編就為大家分享一篇django 實(shí)現(xiàn)將本地圖片存入數(shù)據(jù)庫(kù),并能顯示在web上的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python中最強(qiáng)大的重試庫(kù)Tenacity使用探索
這篇文章主要為大家介紹了Python中最強(qiáng)大的重試庫(kù)Tenacity使用探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12關(guān)于Python解包知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給各位分享的是關(guān)于Python解包知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以學(xué)習(xí)參考下。2020-05-05