在Linux上使用Python获取文件创建时间

Ali*_*ani 20 python linux

os.stat返回st_mtime和st_ctime属性,修改时间是st_mtime,st_ctime是"更改时间"在POSIX上.是否有任何函数使用python并在Linux下返回文件的创建时间?

Sin*_*ion 25

你可能 不会.:

3.1)如何查找文件的创建时间?

你不能 - 它不存储在任何地方.文件具有最后修改的时间(由"ls -l"表示),最后访问的时间(由"ls -lu"表示)和inode更改时间(由"ls -lc"表示).后者通常被称为"创造时间" - 即使在某些手册页中 - 但这是错误的; 它也是由mv,ln,chmod,chown和chgrp等操作设置的.

"stat(2)"的手册页讨论了这一点.

  • 通常,UNIX文件系统根本不存储创建时间 - 没有方法可以检索从未写入磁盘的数据. (5认同)
  • [大多数较新的文件系统现在支持创建/出生时间。](https://en.wikipedia.org/wiki/Comparison_of_file_systems#Metadata) 截至 2019 年 3 月,Linux 内核、glibc 和 coreutils 支持 `statx()` 和`crtime`。 (3认同)

Jon*_*Jon 15

尝试:

st_birthtime
Run Code Online (Sandbox Code Playgroud)

但并不保证可以在所有系统上使用.来自文档:

在某些Unix系统(例如Linux)上,还可以使用以下属性:st_blocks(为文件分配的块数),st_blksize(文件系统块大小),st_rdev(如果是inode设备,则为设备类型).st_flags(用户定义的文件标志).

在其他Unix系统(例如FreeBSD)上,可以使用以下属性(但只有在root尝试使用它们时才可填写):st_gen(文件生成号),st_birthtime(文件创建时间).

http://docs.python.org/2/library/os.html#os.stat