數據處理-Python批量修改文件夾下含多個文件夾中的所有圖片名稱

個人微信公衆號:AI研習圖書館

ID:(Art-Intelligence)
歡迎關注,交流學習,共同進步~

批量修改一個文件夾下含多個文件夾中的所有圖片名稱

這邊實現的是,一個文件夾下有多個文件夾內圖片的重命名。

例如,這個數據集place100,裏面有100個文件夾,代表100個類,然後每個類的文件夾打開又有1500張圖:

所以,我們希望可以在現有的圖片名稱前,加上這一類的名稱,來區分不同類,這樣把全部圖片拷貝到一個文件夾時就不會出現重複命名的問題了。

上代碼:

#!/usr/bin/python
# -*- coding:utf-8 -*-
 
 
import os
 
outer_path = '/home/lincanran/cls_exp/place100'
folderlist = os.listdir(outer_path)          #列舉文件夾
 
for folder in folderlist:     
	inner_path = os.path.join(outer_path, folder)
	total_num_folder = len(folderlist)       #文件夾的總數
	print 'total have %d folders' % (total_num_folder)   #打印文件夾的總數
	
	filelist = os.listdir(inner_path)        #列舉圖片
	i = 0
	for item in filelist:
		total_num_file = len(filelist)       #單個文件夾內圖片的總數
		if item.endswith('.jpg'):
			src = os.path.join(os.path.abspath(inner_path), item)           #原圖的地址
			dst = os.path.join(os.path.abspath(inner_path), str(folder) + '_' + str(i) + '.jpg')        #新圖的地址(這裏可以把str(folder) + '_' + str(i) + '.jpg'改成你想改的名稱)
			try:
				os.rename(src, dst)
				print 'converting %s to %s ...' % (src, dst)
				i += 1
			except:
				continue
	print 'total %d to rename & converted %d jpgs' % (total_num_file, i)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章