Takip et

Python’da Dosya İşleme: Okuma, Yazma ve Yönetim

Python’da Dosya İşleme: Okuma, Yazma ve Yönetim

Python, dosya işlemleri için güçlü ve kullanımı kolay fonksiyonlar sunar. Bu makalede, Python’da dosyaları nasıl okuyup yazacağınızı, farklı dosya modlarını nasıl kullanacağınızı ve olası hatalarla nasıl başa çıkacağınızı adım adım öğreneceksiniz. Öncelikle, dosya işlemlerinin temelini oluşturan open() fonksiyonuna bakalım.

Dosya Açma (open() fonksiyonu)

Bir dosyayı işlemeye başlamadan önce, onu open() fonksiyonu ile açmanız gerekir. Bu fonksiyon, dosya yolunu ve erişim modunu (örneğin, okuma, yazma veya ekleme) parametre olarak alır. Örneğin, “dosyam.txt” adlı bir dosyayı okuma modunda açmak için şu kodu kullanabilirsiniz:


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

Burada “r”, okuma modunu temsil eder. Diğer yaygın modlar şunlardır:

  • “w”: Yazma modu (dosya varsa üzerine yazar, yoksa oluşturur)
  • “a”: Ekleme modu (dosya varsa sonuna ekler, yoksa oluşturur)
  • “x”: Oluşturma modu (dosya varsa hata verir, yoksa oluşturur)
  • “b”: İkili dosyalar için (örneğin, resim veya ses dosyaları)
  • “+”: Okuma ve yazma modunu birleştirir (örneğin, “r+”, “w+”)

Önemli bir nokta, dosyayı kullandıktan sonra mutlaka close() metodu ile kapatmanızdır. Bu, kaynakları serbest bırakır ve veri kaybını önler. Ancak, daha güvenilir bir yöntem olan with bloğunu kullanmanızı öneririm:


with open("dosyam.txt", "r") as dosya:
    icerik = dosya.read()
    print(icerik)

Bu yöntem, dosyayı otomatik olarak kapatır, olası hataları önler. Ayrıca, daha temiz ve okunabilir bir kod yazmanıza yardımcı olur.

Dosya Okuma

Dosyayı açtıktan sonra, read(), readline(), veya readlines() metodlarını kullanarak içeriğini okuyabilirsiniz. read() metodu tüm dosyayı bir string olarak okurken, readline() metodu dosyadan satır satır okuma sağlar. readlines() ise tüm satırları bir liste halinde döndürür.


with open("dosyam.txt", "r") as dosya:
    # Tüm dosyayı oku
    tumIcerik = dosya.read()
    print(tumIcerik)

    dosya.seek(0) # imleci başa alalım

    # Satır satır oku
    satir = dosya.readline()
    while satir:
        print(satir, end="")
        satir = dosya.readline()

    dosya.seek(0) # imleci başa alalım

    # Tüm satırları liste olarak oku
    tumSatirlar = dosya.readlines()
    for satir in tumSatirlar:
        print(satir, end="")

Dosya Yazma

Dosyaya yazmak için “w” veya “a” modlarını kullanabilirsiniz. write() metodu, dosyaya string verileri yazar.


with open("yeni_dosya.txt", "w") as dosya:
    dosya.write("Merhaba, yeni dosyaya yazıyorum!\n")
    dosya.write("Bu ikinci satır.")

Hata Yönetimi

Dosya işlemleri sırasında hatalar meydana gelebilir (örneğin, dosya bulunamadı). try…except bloklarını kullanarak bu hataları yakalayabilir ve programın çökmesini önleyebilirsiniz.


try:
    with open("olmayan_dosya.txt", "r") as dosya:
        icerik = dosya.read()
except FileNotFoundError:
    print("Dosya bulunamadı!")
except Exception as e:
    print(f"Bir hata oluştu: {e}")

İleri Düzey Konular

Dosya işlemlerinde daha ileri konulara girmeden önce, fatihsoysal.com sitesindeki diğer Python makalelerimi inceleyebilirsiniz. Örneğin, CSV dosyalarını işlemek, JSON verileriyle çalışmak veya daha karmaşık dosya yapılarıyla başa çıkmak gibi konulara değinilmektedir.

Ayrıca, daha detaylı bilgi için Python’ın resmi dökümantasyonuna göz atabilirsiniz: Python Dosya Giriş/Çıkış Dökümantasyonu

Umarım bu makale, Python’da dosya işlemeyi anlamanıza yardımcı olmuştur. Herhangi bir sorunuz varsa, yorumlarda sormaktan çekinmeyin!

#Etiketler

Python, dosya işleme, file handling, okuma, yazma, dosya yönetimi, Python dosya okuma, Python dosya yazma, dosya açma, dosya kapama, hata yönetimi, open(), read(), write(), readline(), readlines(), with, try…except, FileNotFoundError


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık