【发布时间】:2014-05-08 12:11:36
【问题描述】:
我将包含多个文件和文件夹的 zip 文件作为输入,我正在提取它,然后我想将 zip 中每个内容的最后修改时间更改为用户设置的某个新日期和时间。
我正在使用os.utime() 更改日期和时间,但更改只会反映到文件中,而不会反映到 zip 中的文件夹。
timeInStr = raw_input("Enter the new time =format: dd-mm-yyyy HH:MM:SS -")
timeInDt=datetime.datetime.strptime(timeInStr, '%d-%m-%Y %H:%M:%S')
timeInTS=mktime(timeInDt.timetuple())
epochTime=(datetime.datetime(timeInDt.year, timeInDt.month, timeInDt.day, timeInDt.hour, timeInDt.minute, timeInDt.second)-datetime.datetime(1970,1,1)).total_seconds()
z=zp.ZipFile(inputZipFile,"a",zp.ZIP_DEFLATED)
for files in z.infolist():
z.extract(files, srcFolderName)
fileName=files.filename
new= fileName.replace('/',os.path.sep)
correctName= srcFolderName+os.path.sep+new
print correctName
if(correctName.endswith(os.path.sep)):
correc=correctName[:-1]
print correc
os.utime(correc, (timeInTS, timeInTS))
else:
os.utime(correctName, (timeInTS, timeInTS))
我使用 Python 2.7 作为平台
【问题讨论】:
-
放置一些您尝试过的代码以及您遇到问题的地方。
标签: python python-2.7