CodeBlanks Logo Icon CodeBlanks

Dosya I/O

Verileri JSON olarak kaydedip yüklersin.

Dosya I/O: with ile oku

Bu derste with deyimi ile bir dosya benzeri nesneden okuma yapacaksın. io.StringIO bir dizeyi dosya gibi okunabilir yapar:

from io import StringIO
with StringIO("kiraz") as f:
    print(f.read())

Başlangıç kodu önceki çözümleri içerir. Sen from io import StringIO ve with bloğunu ekleyeceksin. StringIO dosya işlemlerini test etmek için kullanışlıdır.

Bu, gerçek dosya okuma kodunun iskeletidir.

Uygulama StringIO ile with bloğu yaz

from io import StringIO yaz. with StringIO("kiraz") as f: bloğu içinde print(f.read()) yaz.

Başlangıç kodu

main.py
# Kelime işleme - kelime listesi
words = ["elma", "armut", "elma"]
print(len(words))
def say(words):
    return len(set(words))
print(say(words))
def uret(words):
    for w in words:
        yield w
for w in uret(words):
    print(w)
# StringIO ile with bloğu yaz

Örnek çözüm

main.py
words = ["elma", "armut", "elma"]
print(len(words))
def say(words):
    return len(set(words))
print(say(words))
def uret(words):
    for w in words:
        yield w
for w in uret(words):
    print(w)
from io import StringIO
with StringIO("kiraz") as f:
    print(f.read())

Beklenen çıktı

3
2
elma
armut
elma
kiraz

Sıradaki adım: birleştirme

Dosya I/O hazır — with ile dosya benzeri nesnelerden okuyabiliyorsun. Son derste her şeyi bir sınıf içinde birleştireceksin: Sayac sınıfı tanımlayıp kullanacaksın. Bu son katman, kodu modüler ve yeniden kullanılabilir hâle getirecek.

Sınıflar, veriyi ve yöntemleri bir arada tutar; böylece kod düzenli ve test edilebilir olur. Projenin tüm parçaları artık bir araya geliyor.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 StringIO içe aktarımını tamamla

Soru
from io import ____

with StringIO("kiraz") as f:
    print(f.read())
Cevap
from io import StringIO

with StringIO("kiraz") as f:
    print(f.read())

Açıklama: StringIO io modülünden gelir.

2 with bloğu bitince StringIO nesnesi ne olur?

  • Açık kalır
  • Silinir
  • Hata verir
  • Otomatik kapanır Doğru cevap

Açıklama: with bloğu bitince nesne otomatik kapanır.

3 Dosya I/O eşleştir

Kavram Anlamı
from io import StringIO İçe aktarım
with StringIO Bloğu başlatır
f.read() Okur
with sonu Otomatik kapatır

Orta seviye bölümündeki tüm dersler