您好,登錄后才能下訂單哦!
這篇“Python如何根據照片修改時間重命名并排序”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python如何根據照片修改時間重命名并排序”文章吧。
當想將照片序列合成延時攝影視頻時,可能會發現照片中缺少一張,或者照片序列是跨時間、并不連續的,如圖1所示,但PR中只有連續的照片序列才能導入。
這時往往需要將照片按照修改時間重命名,下面寫了一個很簡單的python腳本,理論上來說支持10000張照片以內的照片序列重命名,操作如下:
1.將照片備份(沒有undo機制,以免腳本失誤無法撤銷)
2.將rename.exe文件放入照片文件中,雙擊即可重命名(不可更改名字)。如果安裝過python,也可以直接雙擊腳本文件。
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) #如果想執行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) 輸出文件的創建時間 # os.path.getmtime(file) 輸出文件最近修改時間
如果想對其他類型的文件進行排序,更改對應后綴名即可。
以上就是關于“Python如何根據照片修改時間重命名并排序”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。