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

循环中获取文件时间戳失败,触发AttributeError: module 'ntpath' has no attribute 'gettime'

解决文件时间戳获取失败的问题

错误根源

你代码里调用的os.path.gettime是不存在的方法,这是触发AttributeError的直接原因。Python的os.path模块没有这个函数,正确的文件时间获取函数分为两种:

  • os.path.getmtime(file_path):获取文件最后修改时间,返回Unix时间戳(float类型,单位秒)
  • os.path.getctime(file_path):Windows环境下返回文件创建时间,Unix/Linux环境下返回文件状态最后变更时间,同样返回Unix时间戳

另外你代码里的路径拼接flpath=path+f存在兼容性风险,不同系统的路径分隔符不同,建议用os.path.join(path, f)生成合法路径。

修正后的代码示例

获取文件修改时间并返回时间戳

import os

def fileTM(f, path):
    # 安全拼接文件路径
    flpath = os.path.join(path, f)
    # 获取文件最后修改时间的时间戳
    filetm = os.path.getmtime(flpath)
    return filetm

Windows环境下获取文件创建时间

import os

def fileTM(f, path):
    flpath = os.path.join(path, f)
    # Windows专属:获取文件创建时间戳
    filetm = os.path.getctime(flpath)
    return filetm

额外说明

如果需要将时间戳转换为datetime对象,可以这样处理:

import datetime
dt = datetime.datetime.fromtimestamp(filetm)

反之,只有当你手里是datetime对象时,才需要用datetime.timestamp(dt)转成时间戳——你之前的代码里多了一步不必要的转换,因为os.path.getmtime/getctime本身返回的就是时间戳。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 02:42:07