深度學習中經常會有批量對圖片進行重命名,從網上看到的資料整理一下,方便以后查看。
import os class BatchRename(): ''' 批量重命名文件夾中的圖片文件 ''' def __init__(self): self.path = 'C:/Users/JingPan/Desktop/data_json' #表示需要命名處理的文件夾 def rename(self): filelist = os.listdir(self.path) #獲取文件路徑 total_num = len(filelist) #獲取文件長度(個數) i = 1 #表示文件的命名是從1開始的 for item in filelist: if item.endswith('.json'): #初始的圖片的格式為jpg格式的(或者源文件是png格式及其他格式,后面的轉換格式就可以調整為自己需要的格式即可) src = os.path.join(os.path.abspath(self.path), item) #dst = os.path.join(os.path.abspath(self.path), ''+str(i) + '.jpg')#處理后的格式也為jpg格式的,當然這里可以改成png格式 dst = os.path.join(os.path.abspath(self.path), '000' + format(str(i), '0>3s') + '.json') #這種情況下的命名格式為000000.jpg形式,可以自主定義想要的格式 try: os.rename(src, dst) print ('converting %s to %s ...' % (src, dst)) i = i + 1 except: continue print ('total %d to rename & converted %d jpgs' % (total_num, i)) if __name__ == '__main__': demo = BatchRename() demo.rename()
效果如下:
format()的用法‘0>3s’ 3是置為數,>是控制字符從后往前占的位置,不夠的位數補0,如format(str(1),'0>3s')輸出結果為001,若format(str(1),'0<3s')輸出結果為100