Python Dosya İşlemleri



Dosyaların Güçü ?

Şimdiye kadar yazdığımız programlardaki veriler program sonlanınca yok oluyor, programın yeniden başlatılması durumunda o verilere ulaşamiyorduk. Oysa ki bilgisayarların aynı şekil programlarında, temel görevi bilgi depolamaktır. Bir sistemde kalıcı bilgileri saklamanın yolu sabit diskler ya da kalıcı belleklerde tutmakla gerçekleşir. Program çalışırken veriler bellekte saklanır, bu veriler disk üzerine yazılmaz ise, program sonlanınca bir daha erişilemez. Bu nedenle verilerin kalıcı olarak saklanması için disk üzerine kaydının gerçekleşmesi gerekecektir. Disk üzerinde verileri tutmanın en iyi yolu onları birer dosya olarak kaydetmek, gerektiğinde bu dosyayı okuyarak bellekte depolamaktır. Bu duruma örnek vermek gerekirse, bazı programların settings.txt leri olduğunu gördük sanırım, oradaki ayarları daha sonradan kullanmak amacıyle depolamaktır.

Python‘da disk üzerinde veri saklamak için kullanabilceğimiz en çok sayıda dosya tipi mevcuttur. Bu bölümde en basit dosya türü olan metin dosyalar üzerinde duracağız. Şimdiye kadar kaydettiğimiz python programları da birer metin dosyalarıdır. Metin dosyaları genellikle klavyeden girilen karakterlerden oluşan basit dosyalardır. Bu duruma farklı bir örnek verirsek, Html sayfasıda bir metin dosyasıdır.

Metin Dosyalarını Okuma İşlemleri

Dosyaların güçünden bahsettik, sanırım biraz etkilendik şimdi python üzerinde işlemlere geçelim. Yapacağımız işlem şöyle olacak, İstediğimiz bir konuma bir txt kayıt edelim. İçine bir kaç bişeyler yazalım.

Benim kayıt edeceğim konum :  /home/aliymn/test.txt

Dosya konumu öğrendikten sonra, bu dosyayı python üzerinde okumaya çalışalım.

Burada okunacak dosyanın konumunu belirledik. Daha sonra bu nesnenin özellikleri ile erişim sağlanabilir. Burada ‘/home/aliymn/test.txt’ dosyası salt okunur olarak açılmış ve dosya nesnesine atanmıştır. Windows işletim sisteminde ters bölü ile ifade edilir (\) şeklinde. Linux işletim sisteminde benim kullandığım düz (/) kullanabilirsiniz. Dosyadan bir satır okumak için dosya nesnesinin readline() işlevini çağırmalıyız.

oluşturduğum test.txt adlı belgeye şu verileri yazdım ;

Şimdi yukarıda yazılan bilgileri okuyalım.

Readline() işlevi ilk satırı tamamını okuyan fonksiyondur.

Eğer dosyası baştan sona okumak için read() fonksiyonunu kullanırız.

NOT : Bir dosya ile işiniz bittikten sonra dosyayı kapatmalısınız. Her ne kadar bu şekilde salt okunur bir dosyayı kapatmak gerekmese de, siz işinizi sağlama alın ve dosyayı kapatın. Bunun için close() fonksiyonu yeterli olacaktır yani : Dosya.close() şeklinde kapatabilirsiniz.







Metin Dosyalarını Yazma İşlemleri

open() fonksiyonuna ikinci parametre olarak dosyanın ne şekilde açilacağı bilgisi verilir. Eğer parametre verilmesse salt metin yani salt olarak açılır. Kullandığımız parametre aşşağıdaki listede gösterildiği gibidir :


Daha önce yukarıda yaptığımız örnekte olduğu gibi Aşık Veysel’in şiirin üzerinden devam edelim. Dosyayı sonuna veri ekleme kipinde açalım.

Yazmak üzere açılmış bir dosya nesnesine yazmak için write() fonksiyonunu kullanırız. Mısralar arasında Bir satır ekleceğimizden öncelikle dosya satır son karakterini (/n) şeklinde vermeliyiz.

Her satırın sonuna satır sonu karakterini (\n) eklediğimizi görmüş olmalısınız. Dosyada yapılan değişikleri disk üzerine kaydedilmesi için flush() fonksiyonunu kullanmalıyız. Yazmak üzere açtığınız dosyayı kapatırsanız, flush() işlevini otomatik olarak yapılmış olur. Yani işlem bittikten sonra close() fonksiyonunu eklemeliyiz şekildeki gibi :

Şekilde görüldüğü gibi >>> ifadesi ile kullandığım kısımlar dosyayı kapatır yani değişiklik kayıtlı olsun diye. İkiside aynı işlemi yapmaktadır keyfinze göre kullanabilirsiniz.

Neler Öğrendik ?

  • Dosyaların Güçünü öğrendik.
  • Metin dosyalarını okuduk
  • readline() : ilk veriyi okur.
  • read() : hepsini okur.
  • close() : dosya kapama
  • flush() : dosya kapama
  • Dosya okuma tip tablosu
  • Dosya yazma işlemleri
  • write()  : veri yazma

Dosya işlemlerinde temel bilgileri aktarmaya çaliştim, yarar olmasıyla görüşmek üzere 🙂

 

 


Emoji olarak yorumla :)
eh işte! eh işte!
0
eh işte!
Harika Harika
0
Harika
Hahaha! Hahaha!
0
Hahaha!
Vay be! Vay be!
1
Vay be!
Şekilsin Şekilsin
0
Şekilsin
Muhteşem Muhteşem
0
Muhteşem
Beğendim Beğendim
0
Beğendim
Beğenmedim Beğenmedim
0
Beğenmedim

Python Dosya İşlemleri

Giriş Yap

Hoşgeldin, sefa getirdin :)

Şifre Sıfırla

Şifreni bidaha unutma lütfen :)

Geri git :
Giriş Yap