我在一个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')