все Python 3osфункция
os.path.expanduser
os.path — абсолютизация
Заменяет ведущий `~` (или `~user`) на домашний каталог пользователя; без `~` путь не меняется.
Синтаксис
os.path.expanduser(path)
Раскрывает тильду только в начале пути: 'a~b' останется как есть. Если пользователя ~name нет, путь возвращается без изменений и без ошибки — проверяйте результат. На Unix домашний каталог берётся из переменной HOME, на Windows — из USERPROFILE. Интерпретатор сам тильду в путях не раскрывает: open('~/x') ищет каталог с именем '~'.
Примеры
import os
print(os.path.expanduser('foo')) # → foo
print(os.path.expanduser('~')) # → домашний каталог пользователя, например /home/user
cfg = os.path.expanduser('~/.config/app.json')
print(os.path.isabs(cfg)) # → True (типовой приём: путь к конфигу в домашнем каталоге вместо жёсткого /home/...)
print(os.path.expanduser('/tmp/~/x')) # → /tmp/~/x (раскрывается только ведущий '~', внутри пути он остаётся символом)
print(os.path.expanduser('~несуществующий/x')) # → только Unix: '~несуществующий/x' без изменений — такого пользователя нет, исключение не бросается
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности