JavaRush/Java курси/Модуль 1: Python Core/Робота з бінарними файлами

Робота з бінарними файлами

Відкрита

5.1 Бінарні дані

Робота з бінарними файлами в Python трохи відрізняється від роботи з текстовими файлами, оскільки бінарні файли містять дані у форматі, який не призначений для читання людиною. Замість рядків бінарні файли працюють з байтами.

Для роботи з бінарними файлами використовується функція open() з вказанням режиму, що містить букву 'b' (наприклад, 'rb' для читання, 'wb' для запису і так далі).

Приклади відкриття бінарних файлів:

  • Читання: 'rb'
  • Запис: 'wb'
  • Додавання: 'ab'
  • Читання і запис: 'r+b', 'w+b', 'a+b'

Приклад відкриття:

file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Змінна `content` буде містити масив байтів.

Бінарні дані (байти) — це найнижчий, найбазовіший рівень представлення даних. Будь-які дані можуть бути прочитані як бінарні.

Це означає, що текстовий файл завжди можна прочитати як бінарний, але не кожний бінарний файл можна інтерпретувати як текстовий.

5.2 Читання бінарних файлів

Читання всього вмісту файлу

Метод read() зчитує весь вміст файлу в байтах.

Приклад:

file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Читання певної кількості байтів

Метод read(n) зчитує n байтів з файлу.

Приклад:

file = open('example.bin', 'rb')
content = file.read(10)  # Зчитує перші 10 байтів
print(content)
file.close()

Читання построчно

Метод readline() зчитує один рядок із файлу. У випадку бінарних файлів рядок закінчується символом нового рядка (\n).

Приклад:

file = open('example.bin', 'rb')
line = file.readline()
print(line)
file.close()

Читання всіх рядків

Метод readlines() зчитує всі рядки з файлу і повертає їх у вигляді списку байтів.

Приклад:

file = open('example.bin', 'rb')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

Методи для роботи з рядками можуть не працювати коректно, якщо ви читаєте файл, що містить не текст: наприклад, архів, картинку чи відео.

5.3 Запис бінарних даних

Метод write() записує байти у файл. Дані для запису мають бути у вигляді байтів (bytes).

Читання і запис зображень

Читання зображення з файлу і запис його в інший файл.

# Читання зображення
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()

# Запис зображення
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

Також можна записувати і текстові дані:

Приклад:

data = b"Hello, World!"
lines = [b"First line.\n", b"Second line.\n", b"Third line.\n"]

file = open('example.bin', 'wb')
file.write(data)
file.writelines(lines)
file.close()
2
Задача
Модуль 1: Python Core,  12 рівень4 лекція
Недоступна
Читання бінарного файлу
Читання бінарного файлу
2
Задача
Модуль 1: Python Core,  12 рівень4 лекція
Недоступна
Запис бінарних даних
Запис бінарних даних
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.