Содержание:
Path.mkdir(mode=0o777, parents=False, exist_ok=False)
:
Метод
Path.mkdir()
создает новый каталог по заданному пути
path
. Если указан режим
mode
, он объединяется со значением
umask
, для определения режима файла и флагов доступа. Если путь уже существует, вызывается
исключение FileExistsError
.
>>> from pathlib import Path
>>> p = Path('some/to/mydir')
>>> p.mkdir(parents=True)
>>> p.is_dir()
# True
>>> p.is_file()
# False
>>> p.rmdir()
- Если
parents=True
, то будут созданы все отсутствующие каталоги нового пути, если это необходимости. Отсутствующие каталоги создаются с разрешениями по умолчанию без учета указанного режима mode
, имитируя команду POSIX mkdir -p
. - Если
parents=False
(по умолчанию), то отсутствующие каталоги будут вызывать исключение FileNotFoundError
. - Если
exist_ok=False
(по умолчанию), то вызывается исключение FileExistsError
, если целевой каталог уже существует. - Если
exist_ok=True
, то исключения FileExistsError
будут игнорироваться. Имитирует команду mkdir -p
, но только в том случае, если последний компонент пути не является существующим файлом.
Path.touch(mode=0o666, exist_ok=True)
:
Метод Path.touch()
создает пустой файл с заданным разрешением по указанному пути path
.
>>> from pathlib import Path
>>> p = Path('myfile.ext')
>>> p.touch(mode=0o644)
>>> p.is_dir()
# False
>>> p.is_file()
# True
>>> p.unlink()
- Если указан режим
mode
, он объединяется со значением umask
процесса для определения режима файла и флагов доступа. - Если файл уже существует, функция завершается успешно.
- Если аргумент
exist_ok
имеет значение True
, то его время модификации обновляется до текущего времени, в противном случае вызывается исключение FileExistsError
.
Path.hardlink_to(target)
:
Метод Path.hardlink_to()
делайте путь, указанный в Path
жесткой ссылкой на файл, указанный в target
.
Примечание. Порядок аргументов (
target
,
link
) является обратным по сравнению с
os.link()
.
>>> from pathlib import Path
>>> p = Path('mylink')
>>> p.hardlink_to('setup.py')
Новое в Python 3.10.
Path.link_to(target)
:
Метод Path.link_to()
создает жесткую ссылку с именем, указанным в path
и указывающую на путь target
.
>>> from pathlib import Path
>>> p = Path('mylink')
>>> p.link_to('setup.py')
Предупреждение Эта функция не делает этот путь жесткой ссылкой на цель
target
, несмотря на значение имени функции и аргумента. Порядок аргументов (
target
,
link
) обратен
Path.symlink_to()
и
Path.hardlink_to()
, но совпадает с порядком
os.link()
.
Новое в Python 3.8
Не рекомендуется, начиная с Python 3.10: этот
метод устарел в пользу Path.hardlink_to()
, поскольку порядок аргументов
Path.link_to()
не совпадает с порядком аргументов
Path.symlink_to()
.
Path.symlink_to(target, target_is_directory=False)
:
Метод Path.symlink_to()
создает символическую ссылку с именем, указанным в path
и указывающую на путь target
. В Windows target_is_directory
должен быть True
(по умолчанию False
), если целью ссылки является каталог. В POSIX значение target_is_directory
игнорируется.
>>> from pathlib import Path
>>> p = Path('mylink')
>>> p.symlink_to('setup.py')
>>> p.resolve()
# PosixPath('/home/antoine/pathlib/setup.py')
>>> p.stat().st_size
# 956
>>> p.lstat().st_size
# 8
Примечание. Порядок аргументов
(link, target)
в функции
os.symlink()
является обратным.
Path.unlink(missing_ok=False)
:
Метод Path.unlink()
удаляет файл или символическую ссылку, указанную в пути path
. Файл или символическая ссылка должны иметь соответствующее разрешение.
>>> from pathlib import Path
>>> p = Path('some/dir/myfile.ext')
>>> p.unlink()
- Если путь указывает на каталог, то используйте функцию
Path.rmdir()
. - Если аргумент
missing_ok
равен False
(по умолчанию), то вызывается исключение FileNotFoundError
если путь не существует. - Если аргумент
missing_ok
равен True
, то исключения FileNotFoundError
будет игнорироваться аналогично команде POSIX rm -f
.
Изменено в Python 3.8: Добавлен параметр missing_ok
.
Path.rmdir()
:
Метод Path.rmdir()
удаляет каталог, указанный в пути path
. Каталог должен быть пустым и иметь соответствующие разрешения.
>>> from pathlib import Path
>>> p = Path('some/mydirectory')
>>> p.rmdir()