Python实现获取照片拍摄日期并重命名的方法

yipeiwu_com5年前Python基础

本文实例讲述了Python实现获取照片拍摄日期并重命名的方法。分享给大家供大家参考,具体如下:

python获取照片的拍摄日期并重命名。不支持重复处理的中断。

重命名为:拍摄日期__原文件名

import os
import exifread
def getExif(filename):
  FIELD = 'EXIF DateTimeOriginal'
  fd = open(filename, 'rb')
  tags = exifread.process_file(fd)
  fd.close()
  if FIELD in tags:
    new_name = str(tags[FIELD]).replace(':', '').replace(' ', '_') + os.path.splitext(filename)[1]
    tot = 1
    while os.path.exists(new_name):
      new_name = str(tags[FIELD]).replace(':', '').replace(' ', '_') + '_' + str(tot) + os.path.splitext(filename)[1]
      tot += 1
    new_name2 = new_name.split(".")[0] + '__' +filename
    print(new_name2)
    os.rename(filename, new_name2)
  else:
    print('No {} found'.format(FIELD))
for filename in os.listdir('.'):
  if os.path.isfile(filename):
    getExif(filename)

有拍摄日期的文件数,年轻时多么爱拍照。。。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

解决matplotlib库show()方法不显示图片的问题

最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,结果图片一闪而过,附上我原来代码: import matplotlib.pyplot as plt i...

浅谈pandas用groupby后对层级索引levels的处理方法

浅谈pandas用groupby后对层级索引levels的处理方法

层及索引levels,刚开始学习pandas的时候没有太多的操作关于groupby,仅仅是简单的count、sum、size等等,没有更深入的利用groupby后的数据进行处理。近来数据...

python2.7使用plotly绘制本地散点图和折线图

python2.7使用plotly绘制本地散点图和折线图

本人在学习使用Python和plotly处理数据时,经过两个小时艰难试错,终于完成了散点图和折线图的实例。在使用过程中遇到一个大坑,因为官方给出的案例是用在线存储的,所以需要安装jupy...

Python matplotlib以日期为x轴作图代码实例

Python matplotlib以日期为x轴作图代码实例

这篇文章主要介绍了Python matplotlib以日期为x轴作图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果图如下...

Python打印输出数组中全部元素

学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序。 因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用p...