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

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

问题描述

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

eca5e4f9f3f605e0508a6682a74090f6.png

代码实现

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

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+"---文件格式不正确!")

结论

最后修改结果如下。

df32361231a346ba250ec29a4d1a46fa.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值