Модуль pathlib в Python

Модуль pathlib в Python предоставляет удобный способ работать с путями к файлам и директориям. Он является более удобной и понятной альтернативой модулю os.path. Модуль pathlib был добавлен в стандартную библиотеку Python начиная с версии 3.4.

Класс Path модуля pathlib

Класс Path из модуля pathlib в языке Python предоставляет удобный интерфейс для работы с путями файловой системы. Он позволяет легко создавать, изменять, проверять и удалять файлы и директории.

Для использования класса Path сначала необходимо импортировать модуль pathlib:

from pathlib import Path

Затем можно создать объект класса Path, указав путь к файлу или директории:

path = Path('/path/to/file.txt')

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

Создание и проверка путей

Для создания нового пути, можно использовать методы Path() и joinpath().

Метод Path() создает новый путь на основе переданной строки:

path = Path('/path/to/file.txt')

Метод joinpath() объединяет текущий путь с другими путями или строками:

path = Path('/path/to')
subpath = path.joinpath('file.txt')
print(subpath)
# Вывод: "/path/to/file.txt" 

Для проверки существования пути можно использовать метод exists():

path = Path('/path/to/file.txt')
if path.exists():
    print("Путь существует")
else:
    print("Путь не существует")

Работа с файлами и директориями

Класс Path предоставляет методы для работы с файлами и директориями. Например, для проверки, является ли путь директорией, можно использовать метод is_dir():

path = Path('/path/to')
if path.is_dir():
    print("Это директория")
else:
    print("Это не директория")

Аналогично, для проверки, является ли путь файлом, можно использовать метод is_file():

path = Path('/path/to/file.txt')
if path.is_file():
    print("Это файл")
else:
    print("Это не файл")

Для создания директории можно использовать метод mkdir():

path = Path('/path/to')
path.mkdir()

Для удаления файла или директории можно использовать метод unlink() или rmdir(), соответственно:

path = Path('/path/to/file.txt')
path.unlink()

path = Path('/path/to')
path.rmdir()

Изменение путей

Класс Path предоставляет также методы для изменения путей.

Метод parent возвращает родительский путь:

path = Path('/path/to/file.txt')
parent = path.parent
print(parent)
# Вывод: "/path/to" 

Метод name возвращает имя файла или директории из пути:

path = Path('/path/to/file.txt')
name = path.name
print(name)
# Вывод: "file.txt" 

Метод suffix возвращает расширение файла из пути:

path = Path('/path/to/file.txt')
suffix = path.suffix
print(suffix)
# Вывод: ".txt" 

Метод stem возвращает имя файла без расширения:

path = Path('/path/to/file.txt')
stem = path.stem
print(stem)
# Вывод: "file" 

Перебор файлов в директории

Класс Path предоставляет метод glob(), который позволяет перебрать все файлы и директории в указанной директории.

path = Path('/path/to')
for file in path.glob('*'):
    print(file)

В примере выше будут выведены все файлы и директории в указанной директории.

Метод glob() поддерживает использование шаблонов (* и **). Например, можно указать шаблон *.txt, чтобы получить все файлы с расширением .txt.

Метод glob() возвращает генератор, поэтому его результат можно использовать в цикле for.

Чтение и запись файлов

Класс Path позволяет легко читать и записывать содержимое файлов.

Для чтения можно использовать метод read_text():

path = Path('/path/to/file.txt')
content = path.read_text()
print(content)

Для записи можно использовать метод write_text():

path = Path('/path/to/file.txt')
content = 'Hello, world!'
path.write_text(content)

Методы read_text() и write_text() работают с текстовыми файлами.

Для работы с бинарными файлами можно использовать методы read_bytes() и write_bytes().

Пример использования методов read_bytes() и write_bytes() для бинарного файла:

path = Path('/path/to/file.bin')
data = path.read_bytes()
print(data)

new_data = b'Hello, world!'
path.write_bytes(new_data)

Выше приведен пример чтения и записи содержимого бинарного файла.

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

Более подробную информацию о классе Path и его методах можно найти в https://docs.python.org/3/library/pathlib.html официальной документации Python.