从zip文件中提取文件并保留修改日期?
我正在尝试使用Python 2.7.1(在Windows上,fyi)从zip文件中提取文件,而我的每一次尝试都显示了具有Modified Date
=提取时间的提取文件(不正确)。
import os,zipfileoutDirectory = 'C:\\_TEMP\\'
inFile = 'test.zip'
fh = open(os.path.join(outDirectory,inFile),'rb')
z = zipfile.ZipFile(fh)
for name in z.namelist():
z.extract(name,outDirectory)
fh.close()
我也尝试使用.extractall方法,结果相同。
import os,zipfileoutDirectory = 'C:\\_TEMP\\'
inFile = 'test.zip'
zFile = zipfile.ZipFile(os.path.join(outDirectory,inFile))
zFile.extractall(outDirectory)
谁能告诉我我在做什么错?
我想认为这是可能的,而不必重新校正每个[Windows文件的文件创建日期?](http://codingdict.com/questions/161992。
回答:
好吧,这确实需要一些后期处理,但是还不错:
import osimport zipfile
import time
outDirectory = 'C:\\TEMP\\'
inFile = 'test.zip'
fh = open(os.path.join(outDirectory,inFile),'rb')
z = zipfile.ZipFile(fh)
for f in z.infolist():
name, date_time = f.filename, f.date_time
name = os.path.join(outDirectory, name)
with open(name, 'wb') as outFile:
outFile.write(z.open(f).read())
date_time = time.mktime(date_time + (0, 0, -1))
os.utime(name, (date_time, date_time))
好吧,也许 是 那么糟糕。
以上是 从zip文件中提取文件并保留修改日期? 的全部内容, 来源链接: utcz.com/qa/398340.html