码迷,mamicode.com
首页 > 编程语言 > 详细

python笨办法解决zipfile解压会改变文件最后修改时间的问题

时间:2016-07-10 06:33:44      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:windows   python   import   zipfile   保留文件最后修改时间   

# -*- coding=gbk -*-
import zipfile

def UnZip(path, patht):
    #path 为需要解压的文件路径,patht为解压的目标目录
    f = zipfile.ZipFile(path, ‘r‘)
    print "开始解压文件..."
    for file in f.namelist():
        print "正在解压文件:%s to %s" %(file, patht)
        f.extract(file, patht)

   windows下python使用上面的代码解压zip文件,发现解压之后会把文件的最后修改时间统统修改为解压的时间,虽然在使用上并没有什么影响,但是看起来总觉得怪怪的....翻了好久模块资料实在没找出模块里哪个地方能加个参数保留文件最后修改日期的,最后用笨办法写了个!算是勉强完成了保留最后修改日期的功能,代码如下:

# -*- coding=gbk -*-
import zipfile
def UnZipNew(path, patht):
    #path 为需要解压的文件路径,patht为解压的目标目录
    print "开始执行解压函数"
    f = zipfile.ZipFile(path, ‘r‘)    
    for file in f.infolist():
        d = file.date_time
        gettime = "%s/%s/%s %s:%s" % (d[0], d[1], d[2], d[3], d[4])
        f.extract(file, patht)
        filep = os.path.join(patht, file.filename)
        print "恢复文件:%s的最后修改时间" % filep
        timearry = time.mktime(time.strptime(gettime, ‘%Y/%m/%d %H:%M‘))
        os.utime(filep, (timearry, timearry))


python笨办法解决zipfile解压会改变文件最后修改时间的问题

标签:windows   python   import   zipfile   保留文件最后修改时间   

原文地址:http://mofeihu.blog.51cto.com/1825994/1813875

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