使用python修改大量文件的最后改动时间,涉及多个目录。
需要用到python提供的os.utime函数。
复制代码 代码如下:
for root, dirs, files in os.walk(path):#得到遍历列表
for file in files:
stat = os.stat(os.path.join(root, file))
at = localtime(stat[ST_ATIME]) #last access time
mt = localtime(stat[ST_MTIME]) #last modify time
if mt[0] == 2024 and mt[1] >= 6 and mt[2] > 7:
#下面一段有点怪,不知道有没有更好的写法
#下面三行应该可以不要
at_t = [at[i] for i in range(9)]
at_t[0] = 2005
at_st = mktime(at_t)
mt_t = [mt[i] for i in range(9)]
mt_t[0] = 2005
mt_st = mktime(mt_t)
#修改last modify time
os.utime(os.path.join(root, file), (at_st, mt_st))