Python: получение времени модификации файла с большим разрешением, чем секунда - PullRequest
4 голосов
/ 03 июня 2009

os.path.getmtime() и os.stat(), кажется, возвращают значения только в целых секундах.

Это максимально возможное разрешение в файловой системе Windows или OSX, или есть способ получить большее разрешение для файлов?

Ответы [ 3 ]

4 голосов
/ 03 июня 2009

HFS + (используется OS X) имеет разрешение даты одну секунду .

4 голосов
/ 03 июня 2009

В документации для os.stat () есть примечание:

Точное значение и разрешение st_atime, st_mtime и st_ctime Члены зависит от операционной система и файловая система. За Например, в системах Windows, использующих Файловые системы FAT или FAT32, st_mtime имеет 2-секундное разрешение и st_atime имеет только 1-дневное разрешение. Увидеть ваш Документация операционной системы для подробности.

Например, Windows , структура FILETIME, используемая для представления времени файла, использует разрешение 100 наносекунд. Я ожидаю, что Python «знает» об этом и даст вам наилучшее возможное разрешение. Возможно ли, что вы используете файлы в файловой системе FAT?

1 голос
/ 03 июня 2009

Как описано в модуле Python os , это переносимый интерфейс для функций, специфичных для ОС. В зависимости от того, на какой платформе вы работаете, у вас будет другое поведение.

В частности, время модификации, возвращаемое вызовами stat, зависит от файловой системы, в которой находятся файлы. Например, для записей в файловой системе FAT наилучшее разрешение для времени модификации составляет 2 секунды. Другие файловые системы будут иметь разные разрешения.

...