我有一个以前生成的文件的副本,想检测该原始文件的创建日期。
我可以使用以下代码获取该副本的创建日期,而不是原始文件的创建日期:
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日期中可能有一个真正的原始文件创建日期,但似乎找不到。
答案 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键可保留创建日期。否则,文件系统将不会保留原始创建日期。您可能必须对存储在文件本身中的元数据进行重新排序,这取决于文件格式。