Какова временная сложность в Python os.path.exists()?
У меня есть тонна папок, вложенных друг в друга.
Какова временная сложность в Python os.path.exists()?
Изменится ли он при использовании с другой ОС?
2 ответа
Решение
Учитывая, что вы спрашиваете ОС, существует ли один файл, ему не нужно выполнять какую-либо алгоритмическую логику или идти по вашему пути... Я не понимаю, как это может быть что-то еще, кроме O(1).
os.path.exists
просто выполняет системный вызов и возвращает True, если путь указывает на существующий файл или каталог.
Питон, кажется, перформанс lstat()
системный вызов по заданному пути.
Если операция состоит только в поиске в хеш-таблице, тогда стоимость O(1)
, но это может зависеть от операционной системы и от того, как она реализована внутри.