Определить текущий каталог или каталог пользователя.
Содержание:
Path.cwd()
:
Метод
Path.cwd()
вернет новый объект пути
path
, представляющий текущий каталог, как это делает функция
os.getcwd()
:
>>> from pathlib import Path
>>> Path.cwd()
# PosixPath('/home/antoine/pathlib')
Path.home()
:
Метод
Path.home()
вернет новый объект пути
path
, представляющий домашний каталог пользователя, как это делает функция
os.path.expanduser()
:
>>> from pathlib import Path
>>> Path.home()
# PosixPath('/home/antoine')
Path.expanduser()
:
Метод
Path.expanduser()
вернет объект абсолютного пути
path
с замененными пользовательскими конструкциями, такими как
'~'
и
'~user'
, так же как это делает функция
os.path.expanduser()
:
>>> from pathlib import Path
>>> p = Path('~/films/Monty Python')
>>> p
# PosixPath('~/films/Monty Python')
>>> p.expanduser()
# PosixPath('/home/eric/films/Monty Python')
Path.resolve(strict=False)
:
>>> from pathlib import Path
>>> p = Path()
>>> p
# PosixPath('.')
>>> p.resolve()
# PosixPath('/home/antoine/pathlib')
Компоненты пути такие как '..'
также устраняются, это единственный способ сделать это:
>>> from pathlib import Path
>>> p = Path('docs/../setup.py')
>>> p.resolve()
# PosixPath('/home/antoine/pathlib/setup.py')
- Если путь не существует, а для параметра
strict
установлено значение True
, вызывается исключение FileNotFoundError
. - Если
strict=False
, то путь разрешается насколько это возможно и любой остаток добавляется без проверки его существования. Если вдоль пути разрешения встречается бесконечный цикл, вызывается исключение RuntimeError
.
Path.samefile(other_path)
:
Метод
Path.samefile()
вернет
True
, если путь
path
указывает на тот же файл, что и аргумент
other_path
, который может быть либо объектом
pathlib.Path
, либо
строкой. Семантика похожа на функции
os.path.samefile()
и
os.path.samestat()
.
Если какой-либо файл не доступен по какой-либо причине, то может быть вызвана
ошибка OSError
.
>>> from pathlib import Path
>>> p = Path('spam')
>>> q = Path('eggs')
>>> p.samefile(q)
# False
>>> p.samefile('spam')
# True