复制文件的原始创建日期

时间:2020-06-21 16:32:58

标签: python

我有一个以前生成的文件的副本,想检测该原始文件的创建日期。

我可以使用以下代码获取该副本的创建日期,而不是原始文件的创建日期:

import os.path, time
print("last modified: %s" % time.ctime(os.path.getmtime(file)))
print("created: %s" % time.ctime(os.path.getctime(file)))

来源:http://www.aitek.ch/how-to-get-file-creation-modification-date-times-in-python/

但这只会检索副本的创建日期,而不是原始文件的创建日期。 我已经读过,如果您在Windows上复制文件,则旧的创建日期将是新的修改日期,而复制的日期将是新的创建日期。我还读到,在metda日期中可能有一个真正的原始文件创建日期,但似乎找不到。

2 个答案:

答案 0 :(得分:2)

这确实是Windows的事情。 Windows不会在原始文件的复制文件中保留creation_time。

复制修改时间。 创建时间始终是当前系统时间。

我认为您最好的办法是检索原始文件(如果可能的话),并从原始文件中提取创建时间。

您还可以使用一些技巧,但实际上是否取决于您的需要取决于您的情况:https://superuser.com/questions/146125/how-to-preserve-file-attributes-when-one-copies-files-in-windows

答案 1 :(得分:1)

这是与操作系统有关的问题。这完全取决于以下事实:在复制文件时,我们确保保留创建日期。在Windows上,在复制时按Shift键可保留创建日期。否则,文件系统将不会保留原始创建日期。您可能必须对存储在文件本身中的元数据进行重新排序,这取决于文件格式。