Python Glossary English

все 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Сообщить о неточности