• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python利用文件时间批量重命名照片和视频

    本文实例为大家分享了python利用文件时间批量重命名照片和视频的具体代码,供大家参考,具体内容如下

    问题描述

    承接上节的问题,在安卓和苹果间互导照片和视频还容易出现文件名混乱的问题,如下图所示。

    代码实现

    为保证文件名的准确性,这里主要提取照片的拍摄时间和视频的修改时间用于重命名,这两个时间一般是其原始时间,实现代码如下:

    import os
    import re
    import time
    import exifread
    
    def get_file_date(filepath, format):
     '''
      获取文件的时间戳,这里主要返回视频的时间,原时间一般为修改时间
      st_atime (访问时间), st_mtime (修改时间), st_ctime(创建时间)
     '''
     statinfo = os.stat(filepath)
     temp_time = time.localtime(statinfo.st_mtime)
     return str(time.strftime(format, temp_time))
    
    def get_exif_date(filepath):
     # 获取照片的拍摄日期,利用exifread模块
     FIELD='EXIF DateTimeOriginal'
     fd=open(filepath,'rb')
     tags=exifread.process_file(fd)
     fd.close() 
    
     if FIELD in tags:
      temp_time=str(tags[FIELD])  
      new_time=temp_time.replace(':','').replace(' ','_')
      return new_time
    
    def get_filetype(basename):
     '''
     利用正则表达式判断文件后缀,照片返回0,视频返回1,其他返回2
     '''
     img_reg=r'(\.JPG|\.jpg|\.bmp|\.png)'
     vedio_reg=r'(\.mp4|\.MP4|\.MOV)'
     
     if re.search(img_reg,basename): #匹配照片
      return 0
     elif re.search(vedio_reg,basename): #匹配视频
      return 1
     else:
      return 2
    
    if __name__ == "__main__":
     dirname = r'D:\ProgramData\Python'
     os.chdir(dirname) # 切换至当前目录
     basenames = os.listdir(dirname)
     format = '%Y%m%d_%H%M%S' # 时间格式
    
     for basename in basenames:
      filepath = dirname+'\\'+basename
      num=get_filetype(basename)
    
      if num==0:
       str_time=get_exif_date(filepath) #处理照片
       newname=str_time+os.path.splitext(basename)[1]
       os.rename(basename,newname)
       print(basename+'---照片修改成功!')   
      elif num==1:
       str_time=str(get_file_date(filepath, format)) #处理视频
       newname=str_time+os.path.splitext(basename)[1]
       os.rename(basename,newname)
       print(basename+'---视频修改成功!')
      else:
       print(basename+"---文件格式不正确!")

    结论

    最后修改结果如下。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • python文件名批量重命名脚本实例代码
    • python实现文件批量重命名
    • python 批量重命名移动文件
    • Python基于mediainfo批量重命名图片文件
    • 一篇文章教你用Python实现一键文件重命名
    上一篇:python opencv实现图像配准与比较
    下一篇:Python将QQ聊天记录生成词云的示例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python利用文件时间批量重命名照片和视频 python,利用,文件,时间,批量,