Найти тему

Добавлен параметр для рекурсивного поиска в Python

🟢 Функция pathlib.Path.glob() в Python используется для поиска файлов в директории с помощью шаблона (шаблонов).

🔄 Технически в этом коммите произошла замена имени параметра
follow_symlinks на recurse_symlinks.

↩️ Всё началось с темы, о том, что
pathlib.Path.glob() не следовал по символическим ссылкам, в отличии от glob(). Точнее это было отключено намеренно Гвидо Ван Россумом еще в 2016 году. Были тогда причины.

🙃 Символические ссылки действительно все усложняли. Они могли приводить к бесконечной рекурсии, проблемам с использованием
** шаблона и т.д.

👥 После дискуссии добавили реализацию в виде этой
таблицы.

🤔 Недавно было предложено изменить новое значение
Follow_symlinks=None на Follow_symlinks=NotRecursive (или на какое-либо другое явно указанное значение дозорного, определенное в модуле pathlib). Люди, читающие код, который явно определяет Follow_symlinks=None, не смогут понять что оно делает и почему =None не является тем же поведением, что =False или =0.

🏁 В итоге заменили на
recurse_symlinks

👉 Подробнее в телеграм канале https://t.me/cpython_ru

#stdlib