Как обойти ошибку os.path.commonprefix в Python?

Моя проблема - найти общийдорожка префикс заданного набора файлов.

Буквально я ожидал, что "os.path.commonprefix" сделает именно это. К сожалению, тот факт, чтоcommonprefix находится вpath довольно вводит в заблуждение, так как на самом деле будет искать строковые префиксы.

Вопрос для меня, как это может быть решено на пути? Проблема была кратко упомянута вэто (довольно высокий рейтинг) ответ но только в качестве сопутствующего замечания и предложенного решения (добавление косой черты к вводу commonprefix) у imho есть проблемы, так как он потерпит неудачу, например:

os.path.commonprefix(['/usr/var1/log/', '/usr/var2/log/'])
# returns /usr/var but it should be /usr

Чтобы другие люди не попали в ту же ловушку, возможно, стоит обсудить эту проблему в отдельном вопросе: существует ли простое / переносимое решение этой проблемы, которое не полагается на грязные проверки файловой системы (т. Е. Доступ к результату Commonprefix и проверьте, является ли это каталогом, и если нет, возвращаетos.path.dirname результата)?

Ответы на вопрос(5)

Ваш ответ на вопрос