溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么根據(jù)照片修改時間重命名并排序

發(fā)布時間:2021-05-17 14:55:10 來源:億速云 閱讀:237 作者:小新 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關Python怎么根據(jù)照片修改時間重命名并排序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、Background

當想將照片序列合成延時攝影視頻時,可能會發(fā)現(xiàn)照片中缺少一張,或者照片序列是跨時間、并不連續(xù)的,如圖1所示,但PR中只有連續(xù)的照片序列才能導入。                                                          

Python怎么根據(jù)照片修改時間重命名并排序

圖1  時間不連續(xù)序列

二、Method

這時往往需要將照片按照修改時間重命名,下面寫了一個很簡單的python腳本,理論上來說支持10000張照片以內(nèi)的照片序列重命名,操作如下:

1.將照片備份(沒有undo機制,以免腳本失誤無法撤銷)

2.將rename.exe文件放入照片文件中,雙擊即可重命名(不可更改名字)。如果安裝過python,也可以直接雙擊腳本文件。

Python怎么根據(jù)照片修改時間重命名并排序

圖2  操作演示

三、Code

import os
 
def reNameByTime(path):
 
    mlist = []
    # 獲取文件名列表
    files = os.listdir(path)
 
    # 獲得名稱帶時間戳的新文件名列表
    for filename in files:
        # 獲得文件的最后修改時間
        modifytimes = os.path.getmtime(path + filename)
        filename_lower = filename.lower()
        # 篩選.jpg格式
        if ".jpg" in filename_lower:
            mlist.append(str(int(modifytimes)) + "-" + filename)   # .jpg
 
    mlist = sorted(mlist)
 
    # 遍歷修改時間戳為序號
    for i in range(len(mlist)):
 
        # 截取獲得原先的文件名
        oldname = mlist[i][11:]     # 切片操作,從11至后
 
        # 將時間戳部分修改為序號,得到新的文件名
        if (i + 1) < 10:     # 0-9
            newname = "000" + str(i + 1) + ".jpg"
        elif (i + 1) > 9 and (i + 1) < 100:   # 10-100
            newname = "00" + str(i + 1) + ".jpg"
        elif (i + 1) > 99 and (i + 1) < 1000:   # 100-1000
            newname = "0" + str(i + 1) + ".jpg"
        else:
            newname = str(i + 1) + ".jpg"    # 1000 - 9999
 
#        print(newname, oldname)
 
        # 重命名文件,按修改時間排序并加序號前綴
        os.rename(path + oldname, path + newname)
 
#如果想執(zhí)行py文件,可以將后綴改為“.py”,如果想打包成exe,需要將后綴改為“.exe”
if __name__ == "__main__":
    filepath = os.sys.argv[0].replace("rename.py", "")  
    print(os.sys.argv[0])
    reNameByTime(filepath)

如果想按照其他時間進行排序:

#   os.path.getatime(file) 輸出文件訪問時間
#   os.path.getctime(file) 輸出文件的創(chuàng)建時間
#   os.path.getmtime(file) 輸出文件最近修改時間

如果想對其他類型的文件進行排序,更改對應后綴名即可。

Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

關于“Python怎么根據(jù)照片修改時間重命名并排序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI