Dosyalar ile çalışmak her uygulamada, özellikle web uygulamalarında önem taşıyan bir konudur. Python’da dosya oluşturmak, açmak, okumak, yazmak, güncellemek ve silmek ile ilgili bir çok fonksiyon mevcuttur.

Dosyalar ile çalışırken temel fonksiyon open() fonksiyonudur. 2 parametre alır; dosya adı ve erişim yetkisi. 4 farklı erişim yetkisi vardır;

  • Okuma (“r”): Varsayılan değerdir. Dosyanın okumak üzere açılmasını sağlar ancak dosya mevcut değilse hata verir.
  • Güncelleme (“a”):  Dosyanın veri eklemek üzere açılmasını sağlar. Eğer dosya mevcut değilse oluşturur.
  • Yazma (“w”): Dosyanın yazılmak üzere açılmasını sağlar. Eğer dosya mevcut değilse oluşturur.
  • Oluşturma (“x”): Belirtilen dosyayı oluşturur. Ancak dosya zaten mevcutsa hata verir.

Bunlara ek olarak dosyanın metin(text) ya da ikili(binary) modda kullanılmak istendiğini de belirtebilirsiniz;

  • Metin (“t”): Varsayılan değer dosyanın metin modunda olmasıdır.
  • İkili (“b”): İkili modda kullanmak isterseniz seçebilirsiniz. Örneğin resimler ile çalışıyorken.

 

Python’da Yeni Bir Dosya Oluşturmak

Yeni bir dosya oluşturmak için de, yukarıda bahsettiğimiz dosya açma fonksiyonu open() kullanılır. Aldığı dosya oluşturma “x”, güncelleme “a” ve yazma “w” parametreleri ile dosya oluşturması da sağlanır.

dosya=open("yeni-dosya.txt","x")

Güncelleme “a” ve üzerine yazma “w” parametreleri ile dosyaları oluşturmak istediğinizde eğer dosya mevcut değilse oluşturulduğunu, eğer mevcut ise sadece güncelleme ya da üzerine yazma formatında açıldığını unutmayınız. Bu durum, eğer vereceğiniz isimde bir dosyanın var olup olmadığını bilmiyorsanız yanlışlıkla açıp içeriğini değiştirmenize ya da silmenize yol açabilir.

 

Python’da Dosyaları Silmek

Dosya silme işlemi çalışılan sistem içerisinde işlem yapmayı gerektirdiği için Python’da dosya silme işleminde, ileride Modüller konusunda bahsedeceğimiz bir sistem kullanılmaktadır. Burada sadece nasıl kullanacağınızdan ve işlevinden bahsetmekle yetinelim. İleride detaylarını öğreneceğiz.

Python’da dosya silmek için OS modülü adı verilen bir modülü kodlarınıza import anahtar kelimesi ile eklemelisiniz. Daha sonra kod içerisinde bu modülde yer alan remove() fonksiyonunu modül adıyla birlikte kullanarak dosya silme işlemini gerçekleştirebilirsiniz.

Örnek olması için yukarıda oluşturduğumuz ve kodumuz ile aynı klasör içinde yer alan yeni-dosya.txt isimli dosyayı silelim;

import os
os.remove("yeni-dosya.txt")

 

Eğer dosyayı silmeye çalışmadan önce hata almamak için dosyanın var olup olmadığını ya da dosya olup olmadığını kontrol etmek isterseniz yine OS modülünde yer alan fonksiyonlardan faydalanabilirsiniz. os.path.exist() fonksiyonu dosyanın varlığını, os.path.isfile() fonksiyonu da dosya olup olmadığını kontrol eder;

import os
if os.path.exists("yeni-dosya.txt") and os.path.isfile("yeni-dosya.txt"):
  os.remove("yeni-dosya.txt")
else:
  print("Silmek istediğiniz dosya mevcut değil!")