运用场景

前些天家人换了手机,在导入一些照片时发现相册APP中的照片排序混乱,好在照片名中有日期信息,就利用pyhton实现批量修改照片的相关时间

代码实现

修改文件时间,首先想到的就是利用python中的time模块,代码如下

import os,sys,time,re'''
利用utime模块,简单好用,但只能改 修改时间和访问时间,不能改创建时间
'''
# 将文件名中的空格替换为‘-’
def space2bar(dirname, basename):newname = basename.replace(' ', '-')os.rename(os.path.join(dirname, basename), os.path.join(dirname, newname))return newname# 修改日期
def modify_date(dirname, basename):"""获取文件名中的时间格式,用于修改时间 """# 文件名正则表达式expression = r"\d{4}-\d{2}-\d{2}-\d{6}"if re.match(expression, basename):temp_str = basename.split('-')# 获取temp_str[4]的前4位作为时分hour_minute = temp_str[3][0:4]print(dirname+basename+'>>Modify_Date>>' +temp_str[0]+temp_str[1]+temp_str[2]+hour_minute)temp_time = time.strptime(temp_str[0]+temp_str[1]+temp_str[2]+hour_minute, '%Y%m%d%H%M')# 将strptime,返回用秒数来表示时间的浮点数mtime = time.mktime(temp_time)# mktime,修改文件的修改和访问时间os.utime(dirname+basename, (mtime, mtime))print("修改成功")else:print("文件名格式不符合")if __name__ == "__main__":file_path = r'D:\ProgramData\Python\Modify_date\2015-04-07 142409.jpg'basename = os.path.basename(file_path)dirname = os.path.dirname(file_path)+'\\'if len(basename.split(' ')) > 1:basename = space2bar(dirname, basename)modify_date(dirname, basename)

问题

利用time模块中的utime只能修改文件中的修改时间和访问时间,不能修改创建时间。下节继续利用win32file模块修改上述三个时间。

利用照片名中的日期批量修改照片的修改时间和访问时间(python实现)相关推荐

  1. Elasticsearch 参考指南(索引名中的日期公式支持)

    索引名中的日期公式支持 日期公式索引名解析使你能够搜索一系列时间序列索引,而不是搜索所有时间序列索引并过滤结果或维护别名,限制搜索索引的数量可以减少集群上的负载并提高执行性能.例如,如果在每天的日志中 ...

  2. linux复制文件带系统时间,不同方法/系统下复制文件时新文件的日期区别,以及查看文件创建时间、修改时间、访问时间的方法...

    1:1 格拉摩根的洛斯里克城.有一个狗头人.名叫唯一丢人.是Paradox的伯爵.任天堂的主宰.育碧的bug.波兰蠢驴的打桩机. 1:2 他有三个妻.一名Windows.一名Linux.一名MacOS ...

  3. 更改c语言程序保存地址吗,(C语言)修改文件时间程序(创建时间、修改时间、访问时间)...

    背景 在某些情况下,我们需要对文件时间进行修改,在这里主要和大家分享一下修改文件创建时间.修改时间和访问时间的程序,C语言编写. 解决方案 我们主要调用Windows API,直接修改文件时间为自己任 ...

  4. VC++ 获取文件属性创建时间、修改时间和访问时间

    转载:http://blog.sina.com.cn/s/blog_66bf8d8301014ikd.html WIN32_FIND_DATA结构 关于文件的全部属性信息,总计有以下以下9 种:文件的 ...

  5. 文件创建时间、访问时间、修改时间

    在windows下,一个文件有:创建时间.修改时间.访问时间. 而在Linux下,一个文件也有三种时间,分别是:访问时间.修改时间.状态改动时间. 两者有此不同,在Linux下没有创建时间的概念,也就 ...

  6. python两种方法读取、修改文件的创建时间、修改时间、访问时间

    看到网上有人出于特种目前,需要修改文件的创建时间和修改时间(访问时间是只要在操作系统里打开文件,系统就会自动更改最后的访问时间,因此此时间无意义,于是在网上查阅结合自己的经验,归纳 一下可行方案,在  ...

  7. filetime,systemtime相互转化,获取文件创建时间,访问时间,修改时间,获取指定时间之前之后的SYSTEMTIME

    // deleteOldFiles.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include <windows.h> #i ...

  8. linux下文件的创建时间、访问时间、修改时间和改变时间

    确切的说不存在创建时间.若文件从创建后不曾修改过则可认为创建时间=修改时间,若文件创建后状态也不曾改变过则可认为创建时间=改变时间,若文件创建后不曾被读取过则可认为创建时间=访问时间.但是,但是,上述 ...

  9. linux c语言修改文件的时间属性,请教一个关于用标准C语言修改文件创建时间、修改时间和访问时间的问题。...

    请教一个关于用标准C语言修改文件创建时间.修改时间和访问时间的问题. 标准C里面有没有这种方法呢?我需要在Unix下运行,具体的是Solaris 9下,把某个目录下的所有文件的这三个时间属性都改成某年 ...

最新文章

  1. 解决 java “错误:编码GBK 的不可映射字符”
  2. 如何实现Word、PDF,TXT文件的全文内容检索?
  3. JVM 内存区域大小参数设置
  4. 技术 Leader 怎样带跨一个团队?
  5. oracle 实现HA,使用KeepAlived实现HAProxy高可用
  6. UIImagePickerController选择图片发送后旋转90度的问题
  7. xpath返回结果是否有值_【自学C#】|| 笔记 41 DataReader:读取查询结果
  8. TCPIP详解之udp
  9. 必备24个宝藏工具,赶紧收藏,在家做自媒体8天收益4100
  10. SecureCRT绿色版的下载和安装
  11. linux的cpu使用率100%?
  12. 流畅的python学习笔记第一篇之为什么要学习这本书
  13. 文件上传进度条 c 语言,cgi 上传文件(c 语言) 进度条显示
  14. 递归算法之求x的n次方
  15. 打开桌面计算机投屏到扩展屏,win10电脑桌面投屏到电视教程_Win10电脑怎么投屏到电视...
  16. Python 给图片加文字,加图片水印
  17. 如何提高文献检索能力?
  18. 拓嘉辰丰电商:拼多多店铺做不起来的原因
  19. Java 接口+继承
  20. HADOOP组成部分

热门文章

  1. [译]人脸检测与人脸识别简介
  2. 尚硅谷云原生学习笔记(76~143集)
  3. 今晚8:00 | Mila实验室重磅来袭!
  4. Fundation 5发布:号称最快版本,响应式用户体验更完善
  5. echarts地图下钻(vue)
  6. 海康威视CVE-2017-7921
  7. 华为在深圳总部发布重要声明:决定起诉美国政府
  8. 正视周期,创业在衰退中砥砺前行
  9. JAVA WebService注册中心JUDDI使用方法(引用)
  10. 学校计算机教室控制学生机系统,高校计算机教室学生机操作系统管理.doc