Python'da Dosya Nasıl Okunur (Metin ve JSON)

Python'da dosyaları nasıl okuyacağınızı öğrenin. With open ifadesi, okuma satırı, okuma satırları ve dosya istisnalarını güvenli bir şekilde yönetme konusunda uzmanlaşın.

Bu Çözümü Editör'de deneyin

Genel Bakış

Dosya işleme herhangi bir Python geliştiricisi için önemli bir beceridir. Dosyalardan veri okumak, metin belgelerini, yapılandırmaları, günlükleri, veritabanlarını ve yapılandırılmış veri kümelerini işlemenize olanak tanır. Python, yerleşik 'open()' işlevi sayesinde dosya işlemlerini oldukça basit hale getirir.

Dosyalarla çalışırken en kritik en iyi uygulama, içerik yöneticisi oluşturan "with" ifadesini kullanmaktır. 'With open(...)' modeli, içinde bir istisna oluşsa bile, yürütme bloktan ayrılır ayrılmaz dosyanın güvenli ve düzgün bir şekilde kapatılmasını garanti eder. Dosyaları kapatmayı unutmak bellek sızıntılarına, dosya bozulmasına ve diğer sistem işlemlerindeki kaynakların kilitlenmesine neden olabilir.

Python, bir dosya açıldığında verileri okumak için çeşitli yöntemler sağlar. `.read()` yöntemi, dosyanın tüm içeriğini tek bir dize olarak döndürür. `.readline()` yöntemi tek bir satırı okur, bu da onu belleğe sığmayan devasa dosyalar üzerinde yineleme yapmak için mükemmel kılar. `.readlines()` yöntemi tüm satırları okur ve bunları bir dize listesi olarak döndürür. Hangi yöntemin kullanılacağını anlamak hafızanın tükenmesini önler ve programlarınızı daha ölçeklenebilir hale getirir.

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

Bu komut dosyası, içerik yöneticisini kullanarak dosya içeriklerinin güvenli bir şekilde okunmasını, satır satır okumayı ve hata işlemeyi gösterir.

read_file.py
Editör'de deneyin
# Writing a dummy file first
with open("sample.txt", "w") as f:
    f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")

# 1. Read entire file contents
with open("sample.txt", "r") as file:
    content = file.read()
    print("--- Entire File ---")
    print(content)

# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
    for line in file:
        print("Read line:", line.strip())
Terminal Çıkışı
--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.

--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.

Adım Adım Uygulama

  • Dosyayı okumak üzere güvenli bir şekilde açmak için with open("filename", "r") as file ifadesini kullanın.
  • Tüm dosya içeriğini bir değişkene yüklemek için file.read() öğesini çağırın.
  • Satır satır verimli bir şekilde okumak için for döngüsü kullanarak doğrudan dosya nesnesi üzerinde yineleme yapın.
  • Uluslararası karakter uyumluluğu için her zaman kodlamayı belirtin (ör. encoding="utf-8").

Sıkça Sorulan Sorular

Dosyaları açmak için neden with ifadesini kullanmalıyım?

with ifadesi, hatalar oluşsa bile bloktan çıkıldığında dosyayı otomatik olarak kapatan bir içerik yöneticisi oluşturur.

FileNotFoundError sorununu nasıl halledebilirim?

open() ifadenizi bir try-hariç bloğuna sarın ve FileNotFoundError: try: with open(...) ... hariç FileNotFoundError: print("Dosya bulunamadı!") ifadesini yakalayın.

İlgili Konular

Önerilen Python Kaynakları

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