Python Glossary English

все Python 3osфункция

os.path.samestat

os.path — метаданные (stat)

Проверяет, описывают ли два объекта os.stat_result один и тот же файл.

Синтаксис

os.path.samestat(s1, s2)

Сравнивает уже полученные результаты os.stat по номеру устройства и inode. Нужна, когда stat уже вызван и повторно обращаться к диску не хочется, например при обходе дерева с проверкой на зацикливание. Результат stat — снимок: если файл с тех пор заменили, сравнение этого не покажет.

Примеры

import os
s = os.stat(os.__file__)
print(os.path.samestat(s, s))   # → True
s2 = os.stat(os.__file__)
print(os.path.samestat(s, s2))   # → True (два независимых stat одного файла)
print((s.st_dev, s.st_ino) == (s2.st_dev, s2.st_ino))   # → True (samestat сравнивает ровно эту пару полей)
d = os.stat(os.path.dirname(os.__file__))
print(os.path.samestat(s, d))   # → False
print(os.path.samestat(os.__file__, os.__file__))   # → AttributeError (нужны stat_result, а не строки-пути)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности