Sınava Yönelik Notlar #1 – Dosya İşlemleri

Sınava Yönelik Notlar

Herkese selamlar. Sınava yönelik olarak, şimdi sizler ile bir ders notu serisi paylaşacağım.

İlk konumuz: Dosya İşlemleri

Dosya İşlemleri

Python da dosya işlemleri aslında gerçekten çok basit. Sizler ile bu konuyu örnek üzerinde inceleyelim:

Dosya Açma Komutu:

dosya = open("veri.txt", "w")

 

Dosya Kapatma Komutu:

dosya.close()

 

open fonksiyonunun ilk kısmı dosya adını belirtiyor, ikinci kısmı ise yetki kısmıdır. Dosya ile ne yapılacağını belirtip yetkilendiriyoruz.

Temelde üç farklı yetkilendirme vardır.

w: Write yani sadece yazma işlemi için kullanılır. Eğer dosya yok ise dosyayı oluşturur. Var ise dosya yokmuş gibi davranıp dosyanın üzerine yazar. Yani eski yazılar silinir son yazılan yazılar kaydedilir.

r: Read, yani sadece var olan dosyayı okuma işlemi için kullanılır. Dosyanın üzerine bir şeyler yazılmasına izin vermez.Eğer dosya yok ise hata verir.

a: Append, var olan dosya üzerine eklemeler yapmak için kullanılır. Eğer dosya yok ise Yeni dosya ekler.

Dosya Yazma

Dosya yazma için kullanılan en önemli araç write komutudur.

Kullanımı da aşağıdaki gibidir.

dosya = open("veri.txt", "w") 

dosya.write("Talha Toprak") # Yazmak istediğin herşeyi yazar.

dosya.close()

 

Not: Burada önemli olan nokta eğer önceden yazılmış içinde yazı olan bir dosyaya yazı yazacaksanız; yani ekleme yapacaksanız yetkilendirme sistemini “a” olarak ayarlamalısınız. Yoksa eksi yazıları siler, ve yenisini yazar.

dosya = open("veri.txt", "a") 

dosya.write("Talha Toprak") 

dosya.close()

Dosya Okuma

 

Read() Bu komut sayesinde dosya içerisindeki tüm yazıları çekebiliriz.

Not: okuma işlemleri için dosyayı okuma yetkisi ile açmamız gerekmektedir.

dosya = open(“veri.txt”, r)

 

Görmek için:

>>> print dosya.read()

Komutu ile ekrana yazabiliriz.

Readlines() komutu ise  read() komutundan farklı olarak okunan  değerleri bir dizinin içerinse atar.

>>> dosya.readlines()

Readlines() komutu \n gördüğü yere kadar yani alt satıra kadar olan yazıyı alır. Ve listenin elamanı yapar. Kısaca her satırı farklı bir liste elamanına atar.

Örneğin: veri.txt dosyasının içinde aşağıdaki gibi bir metin olsun

1.Satirdaki yazilar

2.Satirdaki yazilar

3.Satirdaki yazilar

4.Satirdaki yazilar

5.Satirdaki yazilar

6.Satirdaki yazilar

7.Satirdaki yazilar

8.Satirdaki yazilar

9.Satirdaki yazilar

10.Satirdaki yazilar

 

Her satırı listenin içine tek tek atar. Listeyi yazdırırsak çıktının aşağıdaki gibi olduğunu göreceğiz.

[‘1.Satirdaki yazilar\n’, ‘2.Satirdaki yazilar\n’, ‘3.Satirdaki yazilar\n’, ‘4.Satirdaki yazilar\n’, ‘5.Satirdaki yazilar\n’, ‘6.Satirdaki yazilar\n’, ‘7.Satirdaki yazilar\n’, ‘8.Satirdaki yazilar\n’, ‘9.Satirdaki yazilar\n’, ’10.Satirdaki yazilar\n’]

Bu ne işimize yarayacak diye bilirsiniz. Burada istersek istediğimiz satır üzerinde çalışabiliriz. İstersek satır satır verileri yazdırabiliriz.

Örnek olarak her satırı for döngüsü ile yazdırıp başına “*” işareti koyalım.

dosya= open("veri.txt","r")

for satir in dosya.readlines():

    print "*"+satir

dosya.close()

Çıktı olarak:

*1.Satirdaki yazilar

 

*2.Satirdaki yazilar

 

*3.Satirdaki yazilar

 

*4.Satirdaki yazilar

 

*5.Satirdaki yazilar

 

*6.Satirdaki yazilar

 

*7.Satirdaki yazilar

 

*8.Satirdaki yazilar

 

*9.Satirdaki yazilar

 

*10.Satirdaki yazilar

Alırız.

Yada istediğimiz satırdaki yazıyı alma için şöyle bir kod yazabiliriz:

dosya= open("veri.txt","r")

satirlar=dosya.readlines()

print satirlar[4]

dosya.close()

 

Bu kod bize çıktı olarak:

5.Satirdaki yazilar

Verir.

Not: Unutmamamız gereken nokta diziler 0 dan başlar. 5. Satırı yazdırmak için 4. İndisi yazdırmalıyız.

Elimden geldiğince en kısa ve en öz şekilde sizlere dosya işlemlerini anlatmaya çalıştım. Eğer imkan olursa bu konular ile ilgili sınava  yönelik bir uygulama yapıp sınav öncesinde sizler ile paylaşmayı düşünüyorum.

Önerileriniz olursa veya bana ulaşmak isterseniz mail adresimden veya facebook üzerinden ulaşabilirsiniz.

Herkese başarılar.

 

 

Sınava Yönelik Notlar #1 – Dosya İşlemleri” için bir yanıt

Yorum bırakın