все Python 3устарело в 3.15osфункция
os.path.commonprefix
os.path — разбор пути
Возвращает самый длинный общий префикс строк списка — посимвольно (не по компонентам пути!).
Синтаксис
os.path.commonprefix(list)
Сравнивает символы, а не компоненты, поэтому для путей даёт неверный ответ: commonprefix(['/usr/lib', '/usr/local']) вернёт '/usr/l' — такого каталога нет. Для путей нужна commonpath. Сама функция полезна для любых строк, например чтобы найти общее начало списка слов. С Python 3.15 функция объявлена устаревшей и выдаёт DeprecationWarning: для путей замена — commonpath(), для общего начала строк — сравнение посимвольно, например через zip и itertools.takewhile.
Примеры
import os
print(os.path.commonprefix(['abcd', 'abef'])) # → ab
print(os.path.commonprefix(['flower', 'flow', 'flight'])) # → fl
print(os.path.commonprefix(['/usr/lib', '/usr/lib64'])) # → /usr/lib
print(os.path.commonpath(['/usr/lib', '/usr/lib64']).endswith('usr')) # → True
print(repr(os.path.commonprefix([]))) # → ''
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности