You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何获取文件创建以来的天数 附类型报错解决方案

报错原因

触发类型不支持报错的核心原因是运算数类型不匹配:

  • today是datetime.datetime类型的时间对象
  • creation_date是通过字符串格式化拼接生成的普通字符串(内容是带"created: "前缀的可读时间文本)
    Python不支持datetime对象和字符串直接做减法运算,因此会抛出类型错误。
修正方法

不要先把文件创建时间转成字符串格式再做计算,直接将os.path.getctime()返回的时间戳转为datetime对象,即可和当前时间做差值计算,修正后可运行的代码如下:

import os
import datetime

path = 'D:/Reg.txt'

# 获取文件创建时间的时间戳,直接转换为datetime对象
creation_time = datetime.datetime.fromtimestamp(os.path.getctime(path))
current_time = datetime.datetime.today()

# 计算时间差
time_delta = current_time - creation_time
print(time_delta.days)

补充说明:os.path.getctime()的返回值存在系统差异:Windows环境下该值对应文件的实际创建时间;Linux、macOS等类Unix环境下该值对应文件inode元数据的最后修改时间,并非文件创建时间。如果需要在类Unix系统下获取准确的文件创建时间,Python3.4及以上版本可使用pathlib.Path的st_birthtime属性获取。

内容的提问来源于stack exchange,提问作者wezzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 08:48:25