Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
А это подборки моих материалов на канале
Приложение 2 к уроку (см. Приложение 1)
Справочная информация по библиотеке pathlib. Начало
Библиотека pathlib довольно таки разнообразна и охватывает большую часть необходимых возможностей управления файловой системой. В силу важности библиотеки постараюсь дать достаточно полный справочник, разбив материал на несколько статей.
Ещё раз отмечу, что удобнее всего пользоваться модулем Path, который будет правильно работать в разных операционных системах.
Манипуляция путями файловой системы
- Path.parts — разбить путь на части.
from pathlib import Path
p = Path('/home/vladislav/Yndex.Disk/Видео/list.txt')
print(p.parts)
p = Path('./help')
print(p.parts)
Результат выполнения фрагмента
('/', 'home', 'vladislav', 'Yndex.Disk', 'Видео', 'list.txt')
('help',) - Path.drive — возвращает букву или имя диска. Актуально в основном для Windows.
- Path.root — возвращает корень.
from pathlib import Path
p = Path('/bin')
print(p.root)
p = Path('/home/vladislav')
print(p.root)
Результат выполнения фрагмента
/
/ - Path.anchor — возвращает конкатенацию диска и корня.
- Path.parents — возвращает предков данного пути.
from pathlib import Path
p = Path('/home/vladislav/Yandex.Disk/Видео')
print(p.parents[0])
print(p.parents[1])
print(p.parents[2])
print(p.parents[3])
Результат выполнения
/home/vladislav/Yandex.Disk
/home/vladislav
/home
/ - Path.parent — возвращает родительский путь.
- Path.name — возвращает последнее имя пути.
- Path.suffix — возвращает расширение имени файла, если оно есть
from pathlib import Path
p = Path('/home/vladislav/Yandex.Disk/Видео/list.txt')
print(p.suffix)
Результат выполнения фрагмента
.txt - Path.suffixes — возвращает список расширений (суфиксов) имени файла.
from pathlib import Path
p = Path('/home/vladislav/Yandex.Disk/Видео/list.txt.zip')
print(p.suffixes)
Результат выполнения
['.txt', '.zip'] - Path.stem — возвращает имя файла без последнего расширения.
from pathlib import Path
p = Path('/home/vladislav/Yandex.Disk/Видео/list.txt.zip')
print(p.stem)
Результат выполнения фрагмента
list.txt - Path.as_posix() — преобразует строку на представление с косыми чертами '/'. Используется для Windows путей.
- Path.as_uri() — преобразует путь в URI-представление. Если путь не абсолютен, то выбрасывает исключение.
from pathlib import Path
p = Path('/home/vladislav/Yandex.Disk/Видео/list.txt.zip')
print(p.as_uri())
Результат выполнения фрагмента
file:///home/vladislav/Yandex.Disk/%D0%92%D0%B8%D0%B4%D0%B5%D0%BE/list.txt.zip - Path.is_absolute() — определяет, является ли путь абсолютным.
from pathlib import Path
p = Path('/home/vladislav/Yandex.Disk/Видео/list.txt.zip')
print(p.is_absolute())
p = Path('../vert/list.txt.zip')
print(p.is_absolute())
Результат выполнения программы
True
False - Path.joinpath() — осуществляет объединение фрагментов путей.
from pathlib import Path
p = Path('/home')
p = p.joinpath('vladislav', 'Yandex.Disk')
print(p)
Результат выполнения фрагмента
/home/vladislav/Yandex.Disk - Path.match() — определяет подходит шаблон для указанного пути.
from pathlib import Path
p = Path('/home/vladislav/1.py')
print(p.match('*.py'))
Результат выполнения фрагмента
True - Path.with_name() — меняет имя у файла.
from pathlib import Path
p = Path('/home/vladislav/1.py')
p = p.with_name('video.txt')
print(p)
Результат выполнения фрагмента
/home/vladislav/video.txt - Path.with_suffix — меняет расширение у файла или добавляет, если его нет.
from pathlib import Path
p = Path('/home/vladislav/1.py')
p = p.with_suffix('.txt')
print(p)
Результат выполнения
/home/vladislav/1.txt - Path.cwd() — объект "текущий каталог".
from pathlib import Path
p = Path.cwd()
print(p)
Результат выполнения фрагмента
/home/vladislav/Yandex.Disk/projects/programming/python2/pathlib - Path.home() — объект "домашний каталог".
- Path.resolve(strict=False) — создаёт объект, преобразуя строку в абсолютный путь.
from pathlib import Path
p = Path('.')
p = p.resolve(False)
print(p)
Результат выполнения фрагмент
/home/vladislav/Yandex.Disk/projects/programming/python2/pathlib - Path.samefile(other_path) — возвращает True, если пути совпадают.
Справочник будет продолжен в одном из следующих постов.
Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.