iPhone照片都是 IMG_数字 的命名方式,同步后想直观知道照片的拍照日期(最后修改日期),直接贴代码:
修改前#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Jan 6 16:40:59 2020
@author: m
"""
import os
import time
def rename():
#包含了需要修改的文件的文件夹路径
path_root = "/Users/name/Desktop/123"
#获取文件夹内的文件列表
file_list = os.listdir(path_root)
for filename in file_list:
print(filename)
#拼接单个文件路径
old_filepath = os.path.join(path_root, filename)
#获取文件属性
statinfo = os.stat(old_filepath)
#获取文件修改时间
mtime = statinfo.st_mtime;
#格式化时间戳为本地时间
time_local = time.localtime(mtime)
#自定义时间格式
time_YmdHMS = time.strftime("%Y%m%d_%H%M%S",time_local)
print('currentTimeStamp:', mtime)
print('time_local:', time_local)
print('time_YmdHMS:', time_YmdHMS)
#文件类型
fileType = os.path.splitext(old_filepath)[1]
#时间和类型 拼接成新的文件名
newname = time_YmdHMS+fileType
#新的文件路径
new_filepath = os.path.join(path_root, newname)
#重命名
os.rename(old_filepath, new_filepath)
#最后调用函数
rename()
后记:Python os.stat() 方法
os.stat() 方法用于获取指定路径文件的属性。
stat()方法:os.stat(path)其中参数path -- 是指定文件路径
stat中属性如下,你可以直接访问到这些属性值:
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间
1. 可以对st_mode做相关的判断,如是否是目录,是否是文件,是否是管道等。
if stat.S_ISREG(mode): #判断是否一般文件
print 'Regular file.'
elif stat.S_ISLNK (mode): #判断是否链接文件
print 'Shortcut.'
elif stat.S_ISSOCK (mode): #判断是否套接字文件
print 'Socket.'
elif stat.S_ISFIFO (mode): #判断是否命名管道
print 'Named pipe.'
elif stat.S_ISBLK (mode): #判断是否块设备
print 'Block special device.'
elif stat.S_ISCHR (mode): #判断是否字符设置
print 'Character special device.'
elif stat.S_ISDIR (mode): #判断是否目录
print 'directory.'
##额外的两个函数
stat.S_IMODE (mode): #返回文件权限的chmod格式
print 'chmod format.'
stat.S_IFMT (mode): #返回文件的类型
print 'type of file.'
2. 还有一些是各种各样的标示符,这些标示符也可以在os.chmod中使用,下面附上这些标示符的说明:
stat.S_ISUID: Set user ID on execution. 不常用
stat.S_ISGID: Set group ID on execution. 不常用
stat.S_ENFMT: Record locking enforced. 不常用
stat.S_ISVTX: Save text image after execution. 在执行之后保存文字和图片
stat.S_IREAD: Read by owner. 对于拥有者读的权限
stat.S_IWRITE: Write by owner. 对于拥有者写的权限
stat.S_IEXEC: Execute by owner. 对于拥有者执行的权限
stat.S_IRWXU: Read, write, and execute by owner. 对于拥有者读写执行的权限
stat.S_IRUSR: Read by owner. 对于拥有者读的权限
stat.S_IWUSR: Write by owner. 对于拥有者写的权限
stat.S_IXUSR: Execute by owner. 对于拥有者执行的权限
stat.S_IRWXG: Read, write, and execute by group. 对于同组的人读写执行的权限
stat.S_IRGRP: Read by group. 对于同组读的权限
stat.S_IWGRP: Write by group. 对于同组写的权限
stat.S_IXGRP: Execute by group. 对于同组执行的权限
stat.S_IRWXO: Read, write, and execute by others. 对于其他组读写执行的权限
stat.S_IROTH: Read by others. 对于其他组读的权限
stat.S_IWOTH: Write by others. 对于其他组写的权限
stat.S_IXOTH: Execute by others. 对于其他组执行的权限
网友评论