8.2. Работа с файлами.

Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

Самоучитель Python 3, собранный из материалов данного сайта. Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.

Для создания новых файлов в Python используется функция `open()` с различными режимами открытия файла. Основная структура работы с файлами:
# Создание нового текстового файла
with open('новый_файл.txt', 'режим') as f:
    pass  # В этом примере файл будет пустым, так как мы ничего в него не записываем
 
Режимы работы с файлами в примерах
 
Режим Описание
'r' Открытие файла для чтения. Файл должен существовать.
'w' Открытие файла для записи. Если файл не существует, он будет создан. Если файл существует, его содержимое будет перезаписано.
'a' Открытие файла для добавления (дописывания) в конец файла. Если файл не существует, он будет создан.
'x' Открытие файла для эксклюзивного создания. Если файл с указанным именем уже существует, операция завершится ошибкой.
'b' Дополнительный режим, который указывает, что файл открывается в бинарном режиме. Например, 'wb' для записи в бинарном режиме.
'+' Дополнительный режим, который позволяет открывать файл как для чтения, так и для записи. Например, 'r+' или 'w+'.
 
Чтение файла ('r'):
with open('file.txt', 'r') as f:
    content = f.read()
 
Запись в файл ('w'):
with open('file.txt', 'w') as f:
    f.write('Hello, World!')
 
Добавление в конец файла ('a'):
with open('file.txt', 'a') as f:
    f.write('\nNew line appended.')
 
Эксклюзивное создание файла ('x'):
try:
    with open('new_file.txt', 'x') as f:
        f.write('Content for the new file.')
except FileExistsError:
    print('Файл уже существует!')
 
Бинарный режим ('rb', 'wb'):
with open('image.jpg', 'rb') as f:
    image_data = f.read()

with open('copy_image.jpg', 'wb') as f:
    f.write(image_data)
 
Чтение и запись ('r+', 'w+'):
with open('file.txt', 'r+') as f:
    content = f.read()
    f.write('Additional text')

with open('new_file.txt', 'w+') as f:
    f.write('Initial content')
    f.seek(0)  # Перемещаем указатель на начало файла
    content = f.read()
 
Копирование файлов
Для копирования файлов в Python можно использовать различные подходы, например, функцию `shutil.copy()`. Пример:
import shutil

# Копирование файла
shutil.copy('исходный_файл.txt', 'новый_файл.txt')
 
Перемещение и переименование файлов
Для перемещения или переименования файлов используются функции `os.rename()` или `shutil.move()`. Пример:
import os
import shutil

# Переименование файла
os.rename('старое_имя.txt', 'новое_имя.txt')

# Перемещение файла
shutil.move('исходный_файл.txt', 'целевая_папка/новое_имя.txt')
 
Удаление файлов
Для удаления файлов в Python используется функция `os.remove()`. Пример:
import os

# Удаление файла
os.remove('файл_для_удаления.txt')
 
Проверка существования файла
Для проверки существования файла можно использовать функцию `os.path.exists()`.
import os.path

# Проверка существования файла
if os.path.exists('файл.txt'):
    print('Файл существует')
else:
    print('Файл не существует')
 
Поиск файлов по расширению или имени
Для поиска файлов в директории по расширению или имени можно использовать модуль `glob`. Пример поиска всех файлов с расширением ".txt":
import glob

# Поиск файлов с расширением ".txt"
txt_files = glob.glob('*.txt')
 
Получение информации о файле
Для получения информации о файле (например, размер, дата создания и другие атрибуты) можно использовать функции из модуля `os.path`. 
import os.path
# Получение размера файла
size = os.path.getsize('файл.txt')
# Получение времени последнего доступа к файлу atime = os.path.getatime('файл.txt')

категории

ТЕОРИЯ

  • Введение в Python
  • Основы программирования на Python
  • Управляющие конструкции
  • Структуры данных
  • Функции и модули
  • Обработка исключений
  • Работа с файлами и потоками
  • файловая система
  • Объектно-ориентированное программирование (ООП)
  • Регулярные выражения
  • Дополнительные темы

Мы в соцсетях