datetime.fromtimestamp дает ошибку 22 Неверный аргумент ctime_ns из объекта Path - PullRequest
2 голосов
/ 05 августа 2020

Я нахожусь в среде Windows, пытаясь получить ctime для объекта пути, например:

tfileobj = Path(r"..\odfs\etest\odfs\test.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

1 Ответ

2 голосов
/ 05 августа 2020

Вы пытаетесь передать наносекунды функции, которой требуется метка времени POSIX. Просто разделите отметку времени на 1 миллиард:

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