更改文件创建日期

17

我可以使用Python在Linux中更改一些文件的创建日期吗?


3
针对Windows的同一个问题:https://dev59.com/f2445IYBdhLWcg3wLXSh - Tobias Kienzler
5个回答

18

Linux和Unix文件系统存储:

文件访问、更改和修改时间(请注意,UNIX或Linux从不存储文件创建时间,这是UNIX / Linux系统管理员面试中经常被问到的问题)

了解UNIX / Linux文件系统


1
注意:某些Unix系统(如FreeBSD)上有st_birthtime - jfs
你可以使用xstat函数从ext4文件系统中提取crtime。 - jfs
3
Linux不再不支持创建时间已不再是真实情况。请参见我下面的回答。 - Gringo Suave
事实是,虽然ext4支持crtime属性,但据我所知,它不应该具有与其他(或仅限于Windows?)文件系统相同的意义。这是inode的特定属性,而不是内容本身。我认为出于这个原因,没有API可以更改或设置它(这实际上是OP所问的)。 - mirh

16

你可以使用os.utime函数来更改访问和修改时间,但无法更改创建日期。


2
设置访问和修改时间,但我需要创建日期。 - Max Frai
从该函数的文档中引用:“设置路径指定的文件的访问和修改时间。” .. 因此您无法使用它来设置创建日期。 - Epcylon
3
在大多数本地*nix文件系统中,不存在文件创建日期的概念,补充这一点会很好。 - tzot

2

Check out os.utime

os.utime(file_path,(new_atime,new_mtime))

它不会更改创建时间,正如Nadia Alramli的回答明确指出的那样 - jfs

2

你曾经创建过它吗?我想修改Linux中的ctimes。 - churchill

2

我不是UNIX专家,所以可能有错,但我认为UNIX(或Linux)不会存储文件创建时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接