如何更改文件夹的修改时间?

2024-10-01 15:39:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我将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))

我使用python2.7作为平台


Tags: 文件path文件夹newdatetimeos时间files
2条回答

对目录的基权限是this questionon SO。只有当目录本身更改为例如:在其中创建新文件时,目录才会更改其时间戳。因此,要更新文件夹的时间戳,您可以创建一个临时文件,然后将其删除。应该有更好的方法,但直到你找到它,你可以设法使用这个。在

我也遇到了类似的问题。^{1}问题是用来获取代码的。在

正如user966588所述,目录的时间戳随着目录的更改而更新。在

在我链接的帖子中,我保留了所有目录元数据的更新,直到我的目录被完全填充之后,为了保持时间戳的更改。在

相关问题 更多 >

    热门问题