Найти тему
programmer's notes (python and more)

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

Оглавление

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

А это подборки моих материалов на канале

Приложение 3 к видеуроку (Приложение 1, Приложении 2)

Справочная информация по библиотеке pathlib. Продолжение

Продолжаю рассказ о библиотеке pathlib. Много удобных в ней вещей, хотелось бы, что читатели взяли её на вооружение.

Получение информации о файле или каталоге. Изменение режима доступа

  • Path.stat — возвращает объект stat_result, содержащий разную информацию о файлах и каталогах. st_mode - биты типа файла и разрешения файла, st_ino номер inode в Linux, st_dev - идентификатор устройства, где расположен файл, st_nlink - количество жестких ссылок, st_uid - идентификатор владельца, st_gid - идентификатор группы, st_size - размер файла в байтах, st_atime - время последнего доступа, st_mtime - время последней модификации, st_ctime - время последнего изменения метаданных в Linux.
  • Path.lstat — аналогично Path.stat, но не следует по символьной ссылке.
  • Path.group() — возвращает имя группы файла.
    from pathlib import Path
    p = Path('./text')
    print(p.group())

    Результат выполнения фрагмента
    vladislav
  • Path.owner() — возвращает имя собственника.
  • Path.readlink() — возвращает путь, на который указывает символическая ссылка.
    from pathlib import Path
    p = Path('./Downloads')
    print(p.readlink())

    Результат выполнения фрагмента
    /home/vladislav/Yandex.Disk/Downloads
  • Path.chmod(mode) — изменение режима доступа.
    from pathlib import Path
    p = Path('./text')
    p.chmod(0o666)

    В результате режим доступа по чтению и записи файла будет установлен для собственника, группы файла и всех остальных. См.
    статью.
  • Path.lchmod(mode) — аналогичен chmod, но не следует символическим ссылкам.

Создание, удаление, переименование файлов и каталогов.

  • Path.mkdir() — создание каталога.
    from pathlib import Path
    newd = Path('./new')
    newd.mkdir(0o700)
    В результате в текущем каталоге будет создан каталог new.
  • Path.touch() — создаёт пустой файл.
    from pathlib import Path
    p = Path('./tmp')
    p.touch(0o666)
    Создаёт пустой файл в текущем каталоге.
  • Path.link_to() — создаёт жёсткую ссылку.
    from pathlib import Path
    p = Path('/home/vladislav/tmp/output.mp4')
    p.link_to('./file.mp4')

    Создаётся жесткая ссылка в текущем каталоге на указанный файл.
  • Path.symlink_to() — создание символьной ссылки.
    from pathlib import Path
    p = Path('ff.mp4')
    p.symlink_to('/home/vladislav/tmp/output.mp4')
    Будет создана символьная ссылка на файл в текущем каталоге.
  • Path.unlink() — удаление файла (жесткой ссылки) из указанного каталога.
  • Path.rmdir() — удаление каталога.
    from pathlib import Path
    p = Path('./new')
    p.rmdir()
    Будет удалён пустой каталог.
  • Path.rename() — переименование файла или каталога.
    from pathlib import Path
    p = Path('./text')
    p.rename('/home/vladislav/txt1')
    Файл text будет переименован с переносом в другой каталог

Наш справочник ещё не закончился. Продолжим в следующей статье.

Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.

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