CodeGym /Kurslar /Python SELF AZ /İkilik (binary) fayllarla iş

İkilik (binary) fayllarla iş

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

5.1 İkili Məlumatlar

Python-da ikili fayllarla iş, mətn faylları ilə işdən bir az fərqlənir, çünki ikili fayllar insanın oxuması üçün nəzərdə tutulmayan formatda məlumatlar saxlayır. Mətnlərin əvəzinə, ikili fayllar baytlarla işləyir.

İkili fayllarla işləmək üçün open() funksiyası istifadə edilir və rejim olaraq 'b' hərfi göstərilir (məsələn, oxumaq üçün 'rb', yazmaq üçün 'wb' və s.).

İkili faylların açılma nümunələri:

  • Oxumaq: 'rb'
  • Yazmaq: 'wb'
  • Əlavə etmək: 'ab'
  • Oxumaq və yazmaq: 'r+b', 'w+b', 'a+b'

Nümunə:


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

'content' dəyişəni bayt massivini saxlayacaq.

İkili məlumatlar (baytlar) — məlumatların ən aşağı, ən əsas səviyyədə təqdim olunmasıdır. Hər hansı bir məlumat ikili olaraq oxuna bilər.

Bu o deməkdir ki, mətn faylını həmişə ikili olaraq oxumaq mümkündür, amma hər bir ikili faylı mətn kimi şərh etmək mümkün deyil.

5.2 İkili faylları oxumaq

Faylın bütün məzmununu oxumaq

read() metodu fayldakı bütün məzmunu byte-lar şəklində oxuyur.

Nümunə:


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

Müəyyən sayda byte oxumaq

read(n) metodu fayldan n byte oxuyur.

Nümunə:


file = open('example.bin', 'rb')
content = file.read(10)  # İlk 10 byte oxuyur
print(content)
file.close()

Sətir-sətir oxumaq

readline() metodu fayldan bir sətir oxuyur. İkili fayllar üçün sətir yeni sətir simvolu ilə bitir (\n).

Nümunə:


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

Bütün sətirləri oxumaq

readlines() metodu fayldan bütün sətirləri oxuyur və onları byte-lar siyahısı kimi geri qaytarır.

Nümunə:


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

Mətn işləmək üçün nəzərdə tutulmuş metodlar düzgün işləməyə bilər, əgər məzmun mətn deyilsə: məsələn, arxiv, şəkil və ya video.

5.3 Binari məlumatların yazılması

write() metodu fayla baytlar yazır. Yazılacaq məlumatlar (bytes) formatında olmalıdır.

Şəkillərin oxunması və yazılması

Şəkli fayldan oxuyub başqa bir fayla yazmaq.


# Şəkli oxumaq
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()
        
# Şəkli yazmaq
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

Həmçinin mətn məlumatlarını da yazmaq mümkündür:

Nümunə:


data = b"Salam, Dünya!"
lines = [b"Birinci sətir.\n", b"Ikinci sətir.\n", b"Üçüncü sətir.\n"]
        
file = open('example.bin', 'wb')
file.write(data)
file.writelines(lines)
file.close()
1
Опрос
Fayllarla İşləmək,  21 уровень,  4 лекция
недоступен
Fayllarla İşləmək
Fayllarla İşləmək
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION