Dosya Açma – Dosyaya Veri Ekleme – Dosyadan Veri Okuma

Python Python - Örnekler Yazılım

Dosya Açma ve Dosyaya Veri Ekleme

Dosya açma işleminde “w” parametresi kullanılır. Bu parametre ile dosya açıldığında yeni bir sodya açılır. Eğer aynı isimde başka bir dosya varsa o dosya silinir. Veriler yeni açılan dosyaya yazılır.

isim = "Kodisyum.com\n"
dosya=open("yeniDosya.txt","w",encoding="utf-8")
dosya.write(isim)
dosya.close()

Dosya açma işleminde “a” parametresi kullanılırsa: Aynı isimde bir dosya varsa o dosya silinmez. Veriler var olan dosyanın içine eklenir. Aynı isimde bir dosya yoksa yeni bir dosya açılır. Veriler yeni açılan dosyanın içine eklenir.

isim = "Kodisyum.com\n"
dosya=open("yeniDosya.txt","a",encoding="utf-8")
dosya.write(isim)
dosya.close()

Dosyadan Veri Okuma

Dosyadan Veri Okuma – Versiyon 1

“r” parametresi dosyayı okuma modunda açar. Eğer dosya yoksa hata verir. Dosya varsa aşağıdaki kodlar dosya içeriğini ekrana yazar.

dosya=open("yeniDosya.txt","r",encoding="utf-8")
for icerik in dosya:
    print(icerik,end="")
dosya.close()

Dosyadan Veri Okuma – Versiyon 2

“read” fonksyonu dosya okuma için kullanılan diğer versiyondur. Aşağıdaki kodlar dosya içeriğini ekrana yazar.

dosya=open("yeniDosya.txt","r",encoding="utf-8")
icerik = dosya.read()
print(icerik)
dosya.close()

“read” fonksiyonuna parametre gönderildiğinde gönderilen parametredeki sayı kadar karakteri okur ve ekrana yazdırır. Aşağıdaki kod ekrana dosya içindeki 10 karakteri yazdırır.

dosya=open("yeniDosya.txt","r",encoding="utf-8")
icerik = dosya.read(10)
print(icerik)
dosya.close()

“readline” fonksiyonu dosya içindeki veriyi satırlar halinde okur. Aşağıdaki kodda her “readline” fonksiyonu 1 satır okuyacaktır.

dosya=open("yeniDosya.txt","r",encoding="utf-8")
icerik = dosya.readline()
print(icerik)
icerik = dosya.readline()
print(icerik)
dosya.close()

“readlines” fonksiyonu dosya içeriğini bir liste halinde okur.

dosya=open("yeniDosya.txt","r",encoding="utf-8")
icerik = dosya.readlines()
print(icerik)
dosya.close()

Dosyadan Veri Okuma – with ifadesi

“with” ile dosya okuma yaptığımızda yukarıdaki örneklerde olduğu gibi kullandıktan dosya dosyaları “close” ile kapatmaya gerek yoktur. “with” bloğundaki kodlar çalıştırılınca dosya kendiliğinden kapanır.

with open("yeniDosya.txt","r",encoding="utf-8") as dosya:
    icerik = dosya.read()
    print(icerik)
    print(dosya.tell())     # Ekrana fare imlecinin nerede olduğunu yazar.
    print(dosya.seek(5))    # Fare imlecini dosya içinde 5. karaktere gönderir.
                            # 5 yerine 0 yazarsak fare imlecini en başa gönderir.
    icerik = dosya.read()   # Fare imleci 5'te olduğu için 5. karakterden sonra okumaya başlar.
    print(icerik)

“r+” parametresi dosyayı hem yazma hem de okuma modunda açar. Aşağıdaki örnekte açılan dosya içine hem yeni bir veri eklenebilir hem de var olan veri güncellenebilir. Güncelleme yapılırken program veriyi fare imlecinin olduğu yerden başlayarak değiştirir. Bu yüzden var olan verinin değiştirilmesi istenmiyorsa “seek” fonksiyonu ile fare imlecinin yeri ayarlanmanlaıdır. (“seek” fonksiyonunun örneği yukarıda vardır.)

with open("yeniDosya.txt","r+",encoding="utf-8") as dosya:
     icerik = dosya.write("Kodisyum.com")
     icerik = dosya.read()
     print(icerik)

“a” parametresi ile bir dosya açıldığı zaman fare imleci her zaman en sona getirilir. Böylece veri dosyanın sonuna eklenir.

with open("yeniDosya.txt","a",encoding="utf-8") as dosya:
    icerik = dosya.write("Kodisyum.com")

Aşağıdaki kod dosya içeriğini okuyup liste halinde “icerik” değişkenine atar. Daha sonra “insert” fonksiyonu ile isteğimiz yere yeni veri eklenir ve “writelines” fonksiyonu ile liste dosyaya yazdırılır. “insert” fonksiyonu içerisinde kullandığımız “1” parametresi verinin, listenin 1. indeksine eklemesini sağlar. “seek(0)” fonksiyonu ise fare imlecini en başa alarak yazma işlemini dosyanın başından başlamasını sağlar.

with open("yeniDosya.txt","r+",encoding="utf-8") as dosya:
    icerik = dosya.readlines()
    icerik.insert(1,"Kodisyum.com\n")
    dosya.seek(0)
    dosya.writelines(icerik)
    print(icerik)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir