Найти в Дзене
programmer's notes (python and more)

Стандартные библиотеки в Python. Справочное по библиотеке pathlib. Знакомство. Приложение 2 к видео 13

Оглавление

Доброго времени суток, читатели, зрители моего канала 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.

Зачем вам нужен идеальный язык программирования, разве вы не можете решить конкретные задачи на любом из имеющихся
Зачем вам нужен идеальный язык программирования, разве вы не можете решить конкретные задачи на любом из имеющихся