如何用Python设置文件的ctime?
我怎么才能设置一个Unix文件的ctime呢?
(我更希望能用Python来回答。如果标准的Python做不到,那C语言也可以。)
(注意:我知道可以用os.utime来设置文件的访问时间和修改时间。我想要的是设置ctime。)
(注意2:我希望有一个答案适用于任何POSIX类的Unix系统,但如果没有的话,我对Darwin和Ubuntu也很感兴趣。)
1 个回答
10
把一个文件的创建时间(ctime)设置为当前时间其实很简单。你只需要修改它的修改时间(mtime),或者改变一下权限,甚至可以给它做一个硬链接。根据我所知道的,想要通过系统调用的方式直接把文件的创建时间设置为一个任意的值是做不到的。
如果你有管理员权限,你可以先把系统时间改成当前时间,然后对文件做点什么来把创建时间设置为当前时间,最后再把系统时间改回来。另外,你也可以直接修改磁盘上的inode数据结构。但这两种方法都不是好主意,原因有很多,我想不需要详细解释。