最近整理相册时发现,网盘下载的图片创建、修改时间都为下载的那一刻。因此,在华为图库里出现显示乱序的问题,非常影响整理相册的体验。
在大多数文件系统(如 FAT32、NTFS)中,文件的创建日期是一个只读属性,一旦文件被创建,就无法通过标准的文件操作API来修改它。这意味着在Windows等大多数操作系统中不能使用Python的 os.utime
函数或其他操作来修改文件的创建日期。如果确实需要修改文件的创建时间,可能需要使用专门的工具或命令行工具,例如 Windows上的powershell
,或者类Unix系统上的touch
。
华为图库对外来图片进行排序(就是打开图库首页的时间排序)的逻辑是优先读取图片的修改时间,通过观察微信图片的命名方式为:“mmexpor+13位的时间戳数字”.jpg。
可以根据微信图片文件名的时间戳,批量修改对应文件的修改时间,实现在华为图库中的按时间顺序排序,其他品牌手机需要各位自测。源代码如下:
import os
import datetime
import time
def convert_timestamp_to_date(timestamp):
# 将微信图片的时间戳转换为datetime对象
timestamp = int(timestamp)
return datetime.datetime.fromtimestamp(timestamp / 1000.0)
def set_file_creation_modification_date(file_path, date):
# 将文件的创建和修改日期设置为指定日期
os.utime(file_path, (