Python中文件创建时间与当前时间不匹配

时间:2018-12-17 07:59:33

标签: python linux python-3.x file time

为什么文件创建时间少于创建文件之前测量的时间?

import os, time

before_creation = time.time()

with open('my_file', 'w') as f:
    f.write('something')

creation_time = os.stat('my_file').st_ctime

print(before_creation)  # 1545031532.8819697
print(creation_time)    # 1545031532.8798425
print(before_creation < creation_time)  # False

编辑操作系统为Linux

1 个答案:

答案 0 :(得分:0)

  • 由于OS模块来自CPython,并且是最初为python设计的 2.x版本。如果您在2.7版本中运行代码,则它将为before_creation和creation_time返回相同的值。因为,结果是 仅在2.x版本中限制为2个小数位。
       eg., 1545073155.03
  • 此外,您还必须注意,当您进行print(os.stat('my_file'))时,我们会得到
    posix.stat_result(st_mode=33204, st_ino=12, st_dev=1792, st_nlink=1, st_uid=488, st_gid=487, st_size=0, st_atime=1545073155, st_mtime=1545073155, st_ctime=1545073155)
  • 如果你这样做 print(os.stat('my_file')[9])得到1545073155
    解决方案,您可能必须使用time.time()获取之后的时间 创建。
    考虑到这一点,在 从int到st_ctime的float的转换。