CodeGym /Kursy /Python SELF PL /Praca z plikami binarnymi

Praca z plikami binarnymi

Python SELF PL
Poziom 21 , Lekcja 4
Dostępny

5.1 Dane binarne

Praca z plikami binarnymi w Pythonie trochę się różni od pracy z plikami tekstowymi, ponieważ pliki binarne zawierają dane w formacie, który nie jest przeznaczony do odczytu przez człowieka. Zamiast stringów, pliki binarne operują na bajtach.

Do pracy z plikami binarnymi używa się funkcji open() z określeniem trybu, zawierającego literę 'b' (na przykład, 'rb' do odczytu, 'wb' do zapisu i tak dalej).

Przykłady otwierania plików binarnych:

  • Odczyt: 'rb'
  • Zapis: 'wb'
  • Dodawanie: 'ab'
  • Odczyt i zapis: 'r+b', 'w+b', 'a+b'

Przykład:


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

Zmienna 'content' będzie zawierała tablicę bajtów.

Dane binarne (bajty) to najniższy, najbardziej podstawowy poziom reprezentacji danych. Jakiekolwiek dane mogą być odczytane jako binarne.

To znaczy, że plik tekstowy zawsze można odczytać jako binarny, ale nie każdy plik binarny można zinterpretować jako tekstowy.

5.2 Odczyt plików binarnych

Odczyt całej zawartości pliku

Metoda read() odczytuje całą zawartość pliku w bajtach.

Przykład:


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

Odczyt określonej liczby bajtów

Metoda read(n) odczytuje n bajtów z pliku.

Przykład:


file = open('example.bin', 'rb')
content = file.read(10)  # Czyta pierwsze 10 bajtów
print(content)
file.close()

Odczyt liniowo

Metoda readline() odczytuje jedną linię z pliku. W przypadku plików binarnych linia kończy się znakiem nowej linii (\n).

Przykład:


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

Odczyt wszystkich linii

Metoda readlines() odczytuje wszystkie linie z pliku i zwraca je w postaci listy bajtów.

Przykład:


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

Metody do pracy z liniami mogą nie działać poprawnie, jeśli czytasz plik, który nie zawiera tekstu: na przykład, archiwum, obrazek lub wideo.

5.3 Zapis danych binarnych

Metoda write() zapisuje bajty do pliku. Dane do zapisu muszą być w formie bajtów (bytes).

Odczyt i zapis obrazów

Odczyt obrazka z pliku i zapis go do innego pliku.


# Odczyt obrazka
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()
        
# Zapis obrazka
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

Można również zapisywać dane tekstowe:

Przykład:


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()
1
Опрос
Praca z plikami,  21 уровень,  4 лекция
недоступен
Praca z plikami
Praca z plikami
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION