Теперь, когда вопрос был изменен, последнее замечание, которое я сделал в своем первоначальном ответе, вероятно, является наиболее важным: ясность.
Дзен Python говорит:
Явный лучше, чем неявный.
и
Читаемость имеет значение.
Явный вызов .exists()
вкл Path
объект очень ясен. Новый программист, незнакомый с Python, мог прочитать
if some_path.exists():
# ...
и, вероятно, понять это. Но
if some_path:
# ...
гораздо менее ясен.
Я прыгал между языками, это причиняло мне некоторую боль.
Идиомати c Python и idiomati c Ruby или C# или Scala все разные. Это нормально.
Теперь, к остальному старому ответу:
pathlib
не только для представления файлов и папок в указанной c видимой файловой системе , Он предназначен для представления и манипулирования путями per se (выделено жирным шрифтом):
Этот модуль предлагает классы, представляющие пути файловой системы с семантикой, подходящей для различных операционных систем. Классы путей делятся между чистыми путями , которые обеспечивают чисто вычислительные операции без ввода-вывода , и конкретными путями , которые наследуются от чистых путей, но также обеспечивают I / Операции O.
Вы даже можете манипулировать путями Windows в Linux системах и наоборот.
Сокращение истинности путей до "существует ли этот файл? " казалось бы странным дизайнерским решением. Особенно, когда есть другие булевы вещи, которые можно спросить о файлах и каталогах: это читабельно? Writable? Исполняемые? Символическая c ссылка? Каталог? Обычный файл? ФИФО?