Python Dosya G/Ç: Dosyaları Güvenli Bir Şekilde Okumak ve Yazmak

Python'da dosyaları nasıl okuyacağınızı ve yazacağınızı öğrenin. Kaynak sızıntısı olmadan dosya işlemlerini güvenli bir şekilde yürütmek için open(), read(), write() ve bağlam yöneticilerinde uzmanlaşın.

Editör'de deneyin

Genel Bakış

Dosya Giriş/Çıkışı (G/Ç), Python programlarının bir bilgisayarın kalıcı depolama alanıyla etkileşime girmesine olanak tanıyan temel bir yetenektir. İster basit bir günlükçü oluşturuyor olun, ister yapılandırma dosyalarını okuyor olun, ister çok büyük veri dizilerini işliyor olun, programınızın diskteki dosyaları açmak, okumak, yazmak ve kapatmak için güvenilir bir yola ihtiyacı vardır. Python, dosya sistemi etkileşimini basit ve platformlar arası hale getirmek için temiz, yerleşik işlevler sağlar.

Python'da dosya erişiminin birincil aracı yerleşik 'open()' işlevidir. Bu işlev bir dosya yolunu ve bir mod dizesini kabul eder. Mod, dosyaya nasıl erişileceğini belirler: okumak için "r", yazmak için "w" (dosyanın üzerine yazar), içeriği sona eklemek için "a" ve ikili mod için "b" (görüntüler veya serileştirilmiş veriler için kullanışlıdır). En önemlisi, bir dosyayı açtığınızda, bir işletim sistemi tanıtıcısını kullanır. Dosyayı kapatmazsanız bellek sızıntılarına veya dosya kilitleme sorunlarına neden olabilirsiniz.

Dosyaların her zaman düzgün bir şekilde kapatıldığından emin olmak için Python geliştiricileri bir içerik yöneticisi uygulayan "with" ifadesini kullanır. 'with open(...) as file:' kullanıldığında Python, kod bloğundan çıktığı anda, içinde beklenmeyen bir istisna oluşsa bile dosya tanıtıcısını otomatik olarak kapatır. Veri okuma, "for line in file:" kullanılarak satır satır veya ".read()", ".readline()" veya ".readlines()" yoluyla tek seferde yapılabilir. Metin yazma işlemi `.write()` veya `.writelines()` aracılığıyla gerçekleştirilir ve böylece sorunsuz, güvenli ve verimli dosya işlemleri sağlanır.

Kod ve Yürütme Çıkışı

Güvenli içerik yöneticilerini kullanarak geçici bir metin dosyasına bir selamlama yazmak ve onu satır satır okumak.

file_operations.py
Editör'de deneyin
filename = "sample.txt"

# Writing to a file
with open(filename, "w") as file:
    file.write("Hello, Python coder!\n")
    file.write("This is a line in a file.\n")
    file.write("File I/O is simple.\n")

print("File written successfully.\n--- Reading File ---")

# Reading from a file line by line
with open(filename, "r") as file:
    for index, line in enumerate(file, 1):
        print(f"Line {index}: {line.strip()}")
Terminal Çıkışı
File written successfully.
--- Reading File ---
Line 1: Hello, Python coder!
Line 2: This is a line in a file.
Line 3: File I/O is simple.

Adım Adım Uygulama

  • Hataları ve program çıktısını günlüğe kaydetme
  • Yapılandırma dosyalarını okuma (ör. .env veya config.txt)
  • Kullanıcı raporlarını veya dışa aktarılan analitik özetleri kaydetme

Sıkça Sorulan Sorular

Yazma ve ekleme modları arasındaki fark nedir?

Yazma modu ('w'), dosyayı sıfır uzunluğa kısaltır ve yazmadan önce mevcut içeriği siler. Ekleme modu ('a'), imleci sona yerleştirir ve mevcut içeriği silmeden yeni metin ekler.

Neden with ifadesini kullanmalıyım?

With ifadesi bir içerik yöneticisi görevi görerek dosyaların otomatik olarak kapatılmasını sağlar, bu da bellek sızıntılarını ve kilit dosyası hatalarını önler.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.