Python Programming

Python Dosya İşleme: Kapsamlı Bir Kılavuz

Spread the love

Bu öğretici, Python’da dosya işleme hakkında kapsamlı bir kılavuz sunmaktadır. Dosyalar, kalıcı veri depolama ve alma için çok önemlidir ve programlarınızın çalışma zamanlarının ötesinde verilerle etkileşim kurmasını sağlar. Dosya açma ve kapatmadan okuma, yazma, yeniden adlandırma ve silmeye kadar temel dosya işlemlerini ele alacağız. Ayrıca hata işleme ve verimli dosya yönetimi için en iyi uygulamaları inceleyeceğiz.

İçerik Tablosu:

  1. Dosya Açma
  2. Dosya Nesneleri ve Bağlam Yöneticileri
  3. Dosyalara Yazma
  4. Dosyalardan Okuma
  5. Dosya Sistemi İşlemleri: Yeniden Adlandırma ve Silme
  6. İstisnaları Ele Alma

1. Dosya Açma

open() fonksiyonu, Python’da dosya etkileşiminin temel taşıdır. Birincil bağımsız değişkenler olarak dosya adını (bir dize) ve bir modu alır. Mod, dosyanın nasıl erişileceğini belirler (okuma, yazma, ekleme vb.).

Yaygın modlar şunlardır:

  • 'r': Okuma (varsayılan). Okuma için açar. Dosya yoksa hata verir.
  • 'w': Yazma. Yazma için açar. Dosya varsa üzerine yazar; yoksa oluşturur.
  • 'a': Ekleme. Yazma için açar. Dosya varsa verileri sonuna ekler; yoksa oluşturur.
  • 'x': Özel oluşturma. Yeni bir dosya oluşturur. Dosya zaten varsa hata verir.
  • 'b': İkili mod. Metin dışı dosyalar için (resimler, yürütülebilir dosyalar). Diğer modlarla birleştirilebilir (örneğin, 'rb', 'wb').
  • 't': Metin modu (varsayılan). Metin dosyaları için.

# Yazma için bir dosya açma
file = open("my_file.txt", "w")

# Okuma için bir dosya açma
file = open("my_file.txt", "r")

# İkili modda okuma için bir dosya açma
file = open("image.jpg", "rb")

2. Dosya Nesneleri ve Bağlam Yöneticileri

open(), dosya etkileşimi için yöntemler sağlayan bir dosya nesnesi döndürür. Çok önemli bir en iyi uygulama, hata oluşsa bile dosyaların otomatik olarak kapatılmasını sağlamak için bağlam yöneticileri (with deyimi) kullanmaktır:


with open("my_file.txt", "w") as file:
    file.write("Bu biraz metin.n")  # Bu bloktan sonra dosya otomatik olarak kapanır

with open("my_file.txt", "r") as file:
    icerik = file.read()
    print(icerik)

3. Dosyalara Yazma

write() yöntemi, dosyaya bir dize yazar. Birden çok satır yazmak için yeni satırlar için n kullanın.


with open("my_file.txt", "w") as file:
    file.write("Satır 1n")
    file.write("Satır 2n")

4. Dosyalardan Okuma

Birkaç yöntem dosya verilerini okur:

  • read(): Tüm dosya içeriğini tek bir dizeye okur.
  • readline(): Tek bir satır okur.
  • readlines(): Tüm satırları bir dize listesine okur.
  • Yineleme: Satırları tek tek okumak için doğrudan bir dosya nesnesi üzerinde yineleyebilirsiniz.

with open("my_file.txt", "r") as file:
    icerik = file.read()
    print(icerik)

    file.seek(0) # Dosya işaretçisini sıfırla
    satir = file.readline()
    print(satir)

    file.seek(0) # Dosya işaretçisini sıfırla
    satirlar = file.readlines()
    print(satirlar)

    file.seek(0) # Dosya işaretçisini sıfırla
    for satir in file:
        print(satir, end="") #end="" fazladan yeni satırı önler

5. Dosya Sistemi İşlemleri: Yeniden Adlandırma ve Silme

os modülü, dosya sistemi manipülasyonu için fonksiyonlar sağlar:


import os

# Bir dosyayı yeniden adlandırma
os.rename("my_file.txt", "new_file.txt")

# Bir dosyayı silme
os.remove("new_file.txt")

6. İstisnaları Ele Alma

Dosyalarla çalışırken olası istisnaları (FileNotFoundError, IOError vb.) her zaman ele alın:


try:
    with open("my_file.txt", "r") as file:
        # ... dosya işlemleri ...
except FileNotFoundError:
    print("Dosya bulunamadı.")
except IOError as e:
    print(f"Bir IO hatası oluştu: {e}")

Bir yanıt yazın

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