码迷,mamicode.com
首页 > 其他好文 > 详细

ZipFile解压文件不改变压缩包内文件修改日期的方法

时间:2014-12-05 12:21:15      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   ar   color   os   sp   

本文参考http://stackoverflow.com/questions/9813243/extract-files-from-zip-file-and-retain-mod-date-python-2-7-1-on-windows-7

 1 import os
 2 import time
 3 from zipfile import ZipFile
 4  
 5 zf = ZipFile(archive.zip, r)
 6 for zi in zf.infolist():
 7     zf.extract(zi)
 8     date_time = time.mktime(zi.date_time + (0, 0, -1))
 9     os.utime(zi.filename, (date_time, date_time))
10 zf.close()

time.mktime()函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象或一个完整的9位元组作为参数,返回用秒数来表示时间的浮点数。

IndexAttributeValues
0 tm_year (for example, 1993)
1 tm_mon range [1, 12]
2 tm_mday range [1, 31]
3 tm_hour range [0, 23]
4 tm_min range [0, 59]
5 tm_sec range [0, 61]; see (2) in strftime() description
6 tm_wday range [0, 6], Monday is 0
7 tm_yday range [1, 366]
8 tm_isdst 0, 1 or -1; see below

 

 

 

 

 

 

 

上述代码第8行就是构造该元组,(0, 0, -1)分别表示tm_wday,tm_yday,tm_isdst(-1表示夏令时未知)

os.utime(path,(atime, mtime)):将文件的访问和修改时间设为指定值(第二个参数是一个包含两个元素的元组)。

 

 

 

ZipFile解压文件不改变压缩包内文件修改日期的方法

标签:des   style   blog   http   io   ar   color   os   sp   

原文地址:http://www.cnblogs.com/cygnushan/p/4146293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!