Работа с файловой системой в Python — это важный аспект программирования, который позволяет взаимодействовать с файлами и директориями на вашем компьютере. В этой статье мы рассмотрим основные возможности, которые предоставляет Python для работы с файловой системой, а также примеры кода.

Для работы с файлами в Python обычно используются встроенные функции и модули, такие как os, shutil и pathlib. Эти модули предоставляют различные инструменты для манипуляции файлами и директориями.

Основные операции с файлами

Сначала рассмотрим, как открывать и закрывать файлы в Python. Для этого используется встроенная функция open().

  • Открытие файла: Для открытия файла используется функция open(), которая принимает два аргумента: имя файла и режим открытия. Например:
file = open('example.txt', 'r')
  • Режимы открытия: Существует несколько режимов открытия файла:
    • ‘r’ — чтение (по умолчанию);
    • ‘w’ — запись (создаёт новый файл или перезаписывает существующий);
    • ‘a’ — добавление данных в конец файла;
    • ‘b’ — открытие в двоичном режиме (например, ‘rb’ для чтения двоичных файлов).

После завершения работы с файлом его необходимо закрыть, чтобы освободить ресурсы:

file.close()

Чтение и запись данных

Для чтения данных из файла можно использовать методы read(), readline() и readlines().

  • Чтение всего файла:
content = file.read()
  • Чтение построчно:
line = file.readline()
  • Чтение всех строк в список:
lines = file.readlines()

Для записи данных в файл используется метод write():

file = open('example.txt', 'w')
file.write('Hello, World!')

Также можно использовать with для автоматического закрытия файла:

with open('example.txt', 'w') as file:
    file.write('Hello, World!')

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

Модуль os позволяет выполнять операции с директориями, такие как создание, удаление и изменение текущей директории.

  • Создание директории:
import os
os.mkdir('new_directory')
  • Удаление директории:
os.rmdir('new_directory')
  • Изменение текущей директории:
os.chdir('new_directory')

Использование модуля pathlib

Модуль pathlib предоставляет более современный и удобный интерфейс для работы с путями к файлам и директориям. Вот несколько примеров:

  • Создание объекта пути:
from pathlib import Path
path = Path('example.txt')
  • Проверка существования файла:
if path.exists():
    print('Файл существует')
  • Чтение содержимого файла:
content = path.read_text()
  • Запись в файл:
path.write_text('Hello, World!')

Копирование и перемещение файлов

Для копирования и перемещения файлов можно использовать модуль shutil.

  • Копирование файла:
import shutil
shutil.copy('source.txt', 'destination.txt')
  • Перемещение файла:
shutil.move('source.txt', 'new_location.txt')

Заключение

В Python существует множество инструментов для работы с файловой системой. Мы рассмотрели базовые операции, такие как открытие, чтение, запись, а также работу с директориями и использование модулей os, shutil и pathlib. Уверен, что с помощью этих инструментов вы сможете эффективно управлять файлами и директориями в ваших проектах.