Пропустить до содержимого

Как использовать pathlib для работы с путями?

[

Python модуль pathlib: управление файловой системой

Обратите внимание, что данный контент является переработкой оригинальной статьи, которую я не могу назвать источником или оригинальным автором.

Модуль pathlib является частью стандартной библиотеки Python и помогает справиться со всеми этими задачами. Он объединяет необходимую функциональность в одном месте и предоставляет ее через методы и свойства удобного объекта Path.

В этом руководстве вы узнаете, как:

  • Работать с путями к файлам и папкам в Python
  • Создавать объект Path разными способами
  • Использовать pathlib для чтения и записи файлов
  • Внимательно копировать, перемещать и удалять файлы
  • Манипулировать путями и файловой системой
  • Выбирать компоненты пути

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

Отлично, что pathlib предлагает множество методов и свойств, но они могут быть сложными для запоминания на ходу. В этом поможет шпаргалка. Чтобы получить ее, перейдите по ссылке ниже:

Проблема с представлением путей в виде строк

С помощью модуля pathlib Python вы можете избежать некоторых проблем. Его гибкий класс Path открывает возможности для интуитивной семантики. Прежде чем рассмотреть класс ближе, давайте кратко рассмотрим, как разработчики Python раньше работали с путями без pathlib.

Вот пример кода, который перемещает файлы в подпапку:

import glob
import os
import shutil
for file_name in glob.glob("*.txt"):
new_path = os.path.join("archive", file_name)
shutil.move(file_name, new_path)

Инициализация Path объекта с использованием методов

Строка, представляющая путь, не является объектом, который может выполнять операции над файловой системой. pathlib позволяет использовать методы Path объекта, чтобы работать с путями в Python.

from pathlib import Path
path = Path.home()
print(path)

В этом примере инициализируется объект Path с использованием метода home(). Этот метод возвращает домашнюю директорию текущего пользователя и создает объект Path представляющий этот путь. Результат выводится на экран.

Передача строки в Path

Вы также можете инициализировать объект Path, передав строку в конструктор:

from pathlib import Path
path = Path("my_folder/my_file.txt")
print(path)

В этом примере инициализируется объект Path, представляющий путь к файлу "my_folder/my_file.txt".

Объединение путей

Модуль pathlib также предоставляет методы для объединения путей. Вы можете использовать метод joinpath() для объединения нескольких частей пути в один:

from pathlib import Path
folder = Path("my_folder")
file = Path("my_file.txt")
path = folder.joinpath(file)
print(path)

В этом примере создаются объекты Path для папки "my_folder" и файла "my_file.txt", а затем они объединяются вместе с помощью метода joinpath(). Результат выводится на экран.