Python ile Dosya İşlemleri

Normalde bilgisayarımızda birçok dosya işlemleri yaparız. Bu işlemleri python programlama dili kullanarak da yapabiliriz.

Bilgisayarımızda dosya açabilir, oluşturabilir veya bu dosyaları silebiliriz. (Aynı zamanda klasörler için de bu geçerlidir.

Normalde bilgisayarımızda bir dosya oluşturmak için bilgisayarımızın masaüstünde sağ tıklayıp Yeni>Metin Belgesi diyerek yeni bir metin belgesi dosyası oluşturabiliriz.

Metin belgelerinin uzantısı .txt dir.

Burada istediğimiz ismi verip dosyayı oluşturduktan sonra dosyanın içini açıp istediğimiz yazıyı yazarız ve son olarak da dosyayı kapatırız.

Bu işlemi python dilini kullanarak da yapabiliriz. Bunun için kullanılan kod aşağıdadır.

dosya=open("ahmet.txt","w")
dosya.write("Merhaba ben dosyanın içindeki yazıyım.")
dosya.close()

Bu aşamada python dosyasını nerde çalıştırdıysak oraya ahmet.txt adında dosya oluşturur.

Buradaki kodları satır satır açıklarsak

  1. satır ahmet.txt adında dosyayı yazmak için(w) eğer varsa açar yoksa oluşturur.
  2. satır dosyanın içine “Merhaba ben dosyanın içindeki yazıyım” yazar.
  3. satır dosyayı kapatır.

Eğer dosya oluştururken veya okurken Türkçe karakter sorunu yaşarsanız dosya açma işlemini şu şekilde yapabilirsiniz.

Türkçe karakter(ş,ğ,ü,vb) sorunu
dosya=open("ahmet.txt","w", encoding="utf8")
dosya.write("Merhaba ben dosyanın içindeki yazıyım.")
dosya.close()

Bu defa open fonksiyonununa encoding=”utf8″ değerini ekledik.

Dosya yazma işlemini istersek print() fonksiyonunu kullanarak da yapabiliriz. Bunun için aşağıdaki yöntemi kullanabiliriz.

dosya=open("selam.txt","w", encoding="utf8")
print("selam dostlar",file=dosya)
dosya.close()

Daha önce oluşturulmuş dosyayı okumak için bu fa open fonksiyonunu okuma modunda(read-r) açmamız gerekiyor.

dosya=open("ahmet.txt","r", encoding="utf8")
for satir in dosya:
   print(satir)
dosya.close()

Kodlarımızı anlatırsak:

  1. satır dosyayı yazma modunda açar(r)
  2. satır for döngüsü kullanılarak dosya satır satır okunur ve ekrana yazılır
  3. satır ekrana yazdır.
  4. satır dosyayı kapat

Biraz daha kısa yazmak için şu şekilde kodlarımızı yazabiliriz.

for satir in open('ahmet.txt', 'r',encoding="utf8"):
   print(satir)

Dosya okuma işlemini with …. as komutu ile de yapabiliriz. Örnek kullanımı

with open('ahmet.txt', 'r') as dosya:  
   for satir in dosya:  
      print(satir)

NOT: Bütün dosya modları

  • ‘r’ modu: Dosyayı sadece okumak için açar. Bu mod varsayılan moddur.
  • ‘r+’ modu: Dosyayı hem okumak hem de yazmak için açar. Eğer çağrılan dosya bulunamadıysa yeni bir dosya oluşturulmaz.
  • ‘w’ modu: Dosyayı sadece yazmak için açar. Varolan dosyanın üzerine yazma işlemini yapar. Eğer çağrılan dosya bulunamadıysa yeni bir dosya oluşturur.
  • ‘w+’ modu: Dosyayı hem okumak hem de yazmak için açar. Varolan dosyanın üzerine yazma işlemini yapar. Eğer çağrılan dosya bulunamadıysa yeni bir dosya oluşturur.
  • ‘a’ modu: Dosyayı ekleme işlemi için açar. Eğer çağrılan dosya bulunursa, en sonundan eklemeye devam eder. Eğer dosya yoksa sadece yazma işlemi yapacak yeni bir dosya oluşturur.
  • ‘a+’ modu: Dosyayı hem ekleme hem de okuma işlemi için açar. Eğer çağrılan dosya bulunursa, en sonundan eklemeye devam eder. Eğer dosya yoksa yazma ve okuma işlemleri yapacak yeni bir dosya oluşturur.

Kaynaklar:

Sorularla Python Öğreniyorum Kitabı (Hakan YALÇINKAYA, Ercan BOZKURT)

https://python-istihza.yazbel.com/temel_dosya_islemleri.html

https://caylakyazilimci.com/post/python-dosya-islemleri

Yayınlayan

Ahmet KADAK

Bilgisayar Öğretmeni & Bilgisayar Mühendisi

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.