温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python怎么根据照片修改时间重命名并排序

发布时间:2021-05-17 14:55:10 来源:亿速云 阅读:279 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关Python怎么根据照片修改时间重命名并排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、Background

当想将照片序列合成延时摄影视频时,可能会发现照片中缺少一张,或者照片序列是跨时间、并不连续的,如图1所示,但PR中只有连续的照片序列才能导入。                                                          

Python怎么根据照片修改时间重命名并排序

图1  时间不连续序列

二、Method

这时往往需要将照片按照修改时间重命名,下面写了一个很简单的python脚本,理论上来说支持10000张照片以内的照片序列重命名,操作如下:

1.将照片备份(没有undo机制,以免脚本失误无法撤销)

2.将rename.exe文件放入照片文件中,双击即可重命名(不可更改名字)。如果安装过python,也可以直接双击脚本文件。

Python怎么根据照片修改时间重命名并排序

图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)   #如果想执行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的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

关于“Python怎么根据照片修改时间重命名并排序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI