【Linux】35. python脚本重命名各子目录下的图片
生活随笔
收集整理的這篇文章主要介紹了
【Linux】35. python脚本重命名各子目录下的图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
此python腳本用來重命名當前目錄各子目錄下的圖像文件。
命名格式:類別名_當前時間的微秒_隨機數(0~100之間)_文件后綴。
運行命令 python3 rename.py
假設/home/user/pictures/目錄下有兩個文件夾car和person下都裝有幾百張jpg格式圖片,把rename.py也放在/home/user/pictures/目錄下,運行 python3 rename.py后,car和person的每張圖片分別被重命名為car_xx_xx.jpg和person_xx_xx.jpg。原來是什么格式圖片,腳本會根據原來的后綴名,把圖片重命名后依然是什么格式的圖片。
rename.py的內容如下
import os import random import argparse from datetime import datetimeIMG_SUFFIX = ['.jpg', '.JPG', '.png', '.jpeg', '.bmp']def get_microsecond():t = datetime.utcnow()return t.microseconddef get_random_name(name, suffix):return name + '_' + str(get_microsecond()) + '_' + str(random.randint(0, 100)) + suffix# def parse_args(): # """Parse input arguments.""" # parser = argparse.ArgumentParser(description='Rename') # parser.add_argument('--name', dest='name', help='name', default='others') # parser.add_argument('--input', dest='input', # help='input', default='others')# args = parser.parse_args() # return argsdef main():# args = parse_args()# input_path = args.inputwd = os.getcwd()random.seed(123456)for _,dirs,_ in os.walk(wd):for d in dirs:print(d)file_list = os.listdir(d)image_list = [l for l in file_list if os.path.splitext(l)[-1] in IMG_SUFFIX]for l in image_list:name, suffix = os.path.splitext(l)img_name = get_random_name(d, suffix)print(img_name)os.rename(os.path.join(wd, d, l), os.path.join(wd, d, img_name))if __name__ == '__main__':main()總結
以上是生活随笔為你收集整理的【Linux】35. python脚本重命名各子目录下的图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【opencv】13.摄像头焦距和视场角
- 下一篇: 【数学和算法】奇异值分解在【图像压缩】中