Fayllar

   İndiyə qədər yazdığımız proqramlarda biz giriş verilənlərini ya proqram daxilində dəyişənlərə mənimsədərək verirdik, ya da klaviaturdan daxil edirdik. Proqramlar da öz növbəsində bu verilənləri emal edib nəticəni bizim üçün ekrana çıxarırdı. Lakin bir çox hallarda giriş və çıxış məlumatlarının fayllarda saxlanılması daha məqsədəuyğun olur. Digər proqramlaşdırma dilləri kimi Python dili də fayllarla işləməyə imkan verir.

   Fayl ilə işləməyə başlamadan öncə onu open() funksiyası ilə açmaq lazımdır:

open(fayl, rejim)

   Burada fayl açılan faylın ünvanı ilə bərabər adı və genişləməsidir. İkinci parametr olan rejim isə faylın hansı məqsədlə açıldığını bildirmək üçündür:

Rejim Təyinatı
r Fayl məlumatların oxunması məqsədilə açılır.
w Fayl məlumatların yazılması məqsədilə açılır. Əgər qeyd edilən adda fayl mövcuddursa, yeni məlumatlar yazılmadan öncə ordakı məlumatlar silinir. Fayl mövcud deyilsə, qeyd edilən adda yeni bir fayl meydana gətirilir.
a Fayl məlumatların əlavə edilməsi məqsədilə açılır. Daxil edilən məlumatlar faylın sonuna əlavə edilir.
r+ Fayl məlumatların həm oxunması, həm də yazılması məqsədilə açılır.
rb Fayl məlumatların oxunması üçün ikilik rejimdə (binary mode) açılır.
wb Fayl məlumatların yazılması üçün ikilik rejimdə (binary mode) açılır. Əgər qeyd edilən adda fayl mövcuddursa, yeni məlumatlar yazılmadan öncə ordakı məlumatlar silinir. Fayl mövcud deyilsə, qeyd edilən adda yeni bir fayl meydana gətirilir.
ab Fayl məlumatların əlavə edilməsi üçün ikilik rejimdə (binary mode) açılır. Daxil edilən məlumatlar faylın sonuna əlavə edilir.
r+b Fayl məlumatların həm oxunması, həm də yazılması üçün ikilik rejimdə (binary mode) açılır.

   Default olaraq fayllar mətn rejimində (text mode) açılır. Bu rejimdə sətrlərin fayldan oxunması və fayla yazılması müəyyən kodlaşdırma (susmaya görə UTF-8) əsasında həyata keçirilir. Əgər fayllar mətn faylları deyilsə, onları ikilik rejimdə (binary mode) açmaq (rb, wb, ab və ya r+b) lazım gəlir.

   Bu zaman oxunan və yazılan məlumatlar ikilik obyektlər olur. Faylın açılması zamanı rejim göstərilməyə də bilər. Belə olan halda rejim default olaraq r qəbul edilir.

   Mətn fayllarındakı sətirlərin sonunu bildirən simvollar müxtəlif platformalarda (əməliyyat sistemlərində) fərqli olur, məsələn, Unix-də \n, Windows-da \r\n. Mətn rejimində fayllardan məlumatlar oxunarkən bütün sətir sonları simvolları default olaraq \n simvoluna çevrilir. Fayllara məlumatların yazılması zamanı isə sətir sonunu bildirən \n simvolu yenidən hər platformaya xas sətir sonluğu simvolları ilə əvəz olunur. Sətir sonları ilə bağlı bu çevrilmələr mətn faylları üçün keçərlidir. Digər fayl tipləri ilə işləyərkən (JPEG və ya EXE kimi) ikilik rejimdən (binary mode) istifadə etməlisiniz.

   İndi isə gəlin aşağıdakı nümunəni nəzərdən keçirək:

f = open('adlar.txt', 'w')

   Əvvəlcə onu qeyd edək ki, open() funksiyasının hər iki parametri (fayl və rejim) dırnaqda (tək və ya qoşa) yazılmalıdır. Bu funksiya bizə fayl obyektini qaytarır. Bundan sonra bu obyektlə daha rahat işləmək üçün biz onu bir dəyişənə (f) mənimsədirik. İndiki halda biz adlar.txt adlı faylı w (yazma) rejimində açırıq. Bu adda fayl kompüterimizin yaddaşında olmadığına görə funksiya əvvəlcə onu meydana gətirəcək və sonra da məlumatların yazılması məqsədilə açacaq.