datetime.fromtimestamp在Path对象的ctime_ns上给出错误22无效参数



我在一个Windows环境中,试图为这样的路径对象获取ctime

tfileobj = Path(r"..odfsetestodfstest.txt")
tstamp =  datetime.fromtimestamp(tfileobj.stat().st_ctime_ns).strftime('%b-%d-%Y_%H:%M:%S')

但这给了我一个错误:

tstamp =  datetime.fromtimestamp(tfileobj.stat().st_ctime_ns).strftime('%b-%d-%Y_%H:%M:%S')
OSError: [Errno 22] Invalid argument

是的,这条路是一条真实的路。为了安全起见,我刚刚删除了额外的目录信息

为什么我会遇到这些问题?

在没有datetime功能的情况下,stat().st_ctime_ns返回:

1596581792639031900

您正试图将纳秒传递给需要POSIX时间戳的函数。只需将时间戳除以10亿:

datetime.fromtimestamp(tfileobj.stat().st_ctime_ns / 1000000000).strftime('%b-%d-%Y_%H:%M:%S')

相关内容

最新更新