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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

python使用PyCharm进行远程开发和调试

python使用PyCharm进行远程开发和调试

背景描述 有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟...

用python写asp详细讲解

用python写asp详细讲解

一、ASP的平反想到ASP 很多人会说 “asp语言很蛋疼,不能面向对象,功能单一,很多东西实现不了” 等等诸如此类。 以上说法都是错误的,其一ASp不是一种语言是 微软用来代替CGI的...

Python Numpy库安装与基本操作示例

Python Numpy库安装与基本操作示例

本文实例讲述了Python Numpy库安装与基本操作。分享给大家供大家参考,具体如下: 概述 NumPy(Numeric Python)扩展包提供了数组功能,以及对数据进行快速处理的函...

解决pycharm安装后代码区不能编辑的问题

解决pycharm安装后代码区不能编辑的问题

此问题是由于最新的pycharm在安装时自动装了vimVim插件 你可以在tools Vim emulator将对勾去掉就可以了。 以上这篇解决pycharm安装后代码区不能编辑的问题...

tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法

如下所示: # u [32,30,200] # u_logits [400,32,30] q_j_400 = [] for j in range(400): q_j_400.ap...