如何使用 Python 读取文件和照片的创建日期


Posted in Python onSeptember 05, 2020

本文记录,如何使用 Python 来抓取,图片或者文件的,创建日期,修改日期

1. 读取照片创建日期(._getexif())

from PIL import Image

imgPath = 'C:/Users/xx/Desktop/xxxxx.jpg'
imge = Image.open(imgPath)
exif_data = imge._getexif()
ImageDate = exif_data[36867]
# 或者 ImageDate = exif_data[306]

print(ImageDate)

# >>> Output:
# >>> 2015:11:07 16:55:42

这种方法,尤其适用于照片数据的读取。使用._getexif()方法,不止能读取创建日期,还能读取很多相机的数据,例如,光圈,焦距什么的。这种方法来抓取,照片的拍摄日期,是比较准确的。因为,很多照片的,创建日期,修改日期,都不是拍摄日期!

但是这种方法,有一个不足!就是,在批量读取照片日期的时候,有些照片日期的格式不一样,会导致处理上的不方便!

2. 读取文件或照片创建日期(os.path.getmtime())

import os
import time

imgPath = 'C:/Users/xx/Desktop/xxxxx.jpg'
ImageDate = time.ctime(os.path.getmtime(imgPath))

print(ImageDate)

# >>> Output:
# >>> Thu Mar 2 22:00:37 2017

这个方法,更为简单,而且解决了,方法1中的,日期不统一的问题。

但是要注意:这个os.path.getmtime()的方法呢,实际上是抓取的文件的‘修改日期';所以,如果是照片,那么这个方法得到的就是,创建日期;但是如果是 Excel 文档类的文件,那么得到的就是你上次保存这个文件的日期,并非创建日期;

若是想得到 Excel 文件的创建日期,而非修改日期,那么就需要使用另一个方法os.path.getctime()即可!其实os.path方法中,还有很多使用的小功能,实则是居家必备好帮手!

但是要注意:同上提到的,很多照片的,创建日期,修改日期,都不是拍摄日期!

3. 读取文件状态中的创建日期(os.stat())

import os
imgPath = 'C:/Users/HP/Desktop/Book10.xlsm'
ImageDate = time.ctime(os.stat(imgPath).st_mtime)

print(ImageDate)

# >>> Output:
# >>> Wed Aug 26 11:39:32 2020

这种方法,和第二种方法很像;只不过是用,os.stat()的方法,读取了文件的各种属性信息,然后用os.stat(imgPath).st_mtime选择创建时间,这个属性!

到此这篇关于用 Python 读取文件和照片的创建日期的文章就介绍到这了,更多相关 Python 读取文件和照片的创建日期内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用urllib2防止302跳转的代码例子
Jul 07 Python
Python的Flask框架中web表单的教程
Apr 20 Python
Python对象转JSON字符串的方法
Apr 27 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
Django项目后台不挂断运行的方法
Aug 31 Python
python实现简单图书管理系统
Nov 22 Python
django框架单表操作之增删改实例分析
Dec 16 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
python求numpy中array按列非零元素的平均值案例
Jun 08 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
Python filter()及reduce()函数使用方法解析
Sep 05 #Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 #Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 #Python
Python实现快速大文件比较代码解析
Sep 04 #Python
基于python实现图片转字符画代码实例
Sep 04 #Python
Python HTMLTestRunner如何下载生成报告
Sep 04 #Python
详解python中的lambda与sorted函数
Sep 04 #Python
You might like
php获取json数据所有的节点路径
2015/05/17 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
python发送告警邮件脚本
2018/09/17 Python
Python基于百度云文字识别API
2018/12/13 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
python求最大值最小值方法总结
2019/06/25 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
MySQL面试题
2014/01/12 面试题
学生早退检讨书(范文)
2019/08/19 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python