0Pricing
Python Academy · Ders

Dosyalar için with Deyimini Kullanma

Bağlam yöneticilerini kullanarak dosyaların otomatik olarak kapatılmasını sağlayın.

Dosyalar için with Deyimini Kullanma, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

with ifadesi, bir istisna oluşsa bile dosyaların otomatik olarak kapatılmasını sağlar.

with İfadesi

with open('file.txt') as f: ... blok normal şekilde veya istisna yoluyla sona erdiğinde f dosyasını otomatik olarak kapatır.
# with open('data.txt') as f:
#     content = f.read()
# f is now closed
print('with demo')

with Neden try/finally'den Daha İyidir

with olmadan, kapanmayı garanti etmek için try: ... finally: f.close() yazmanız gerekir. with bunu otomatik olarak yönetir.
# Equivalent to:
# f = open('file.txt')
# try:
#     content = f.read()
# finally:
#     f.close()
print('comparison demo')

Birden Çok Dosya

with open('a.txt') as a, open('b.txt') as b: tek bir ifadede iki dosya açar.
# with open('in.txt') as src, open('out.txt','w') as dst:
#     for line in src:
#         dst.write(line.upper())
print('multi-file demo')

Bağlam Yöneticisi Protokolü

with, __enter__ ve __exit__ kullanır. open(), bunları uygulayan bir dosya nesnesi döndürür. Daha sonra kendimiz yazacağız.
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')

Okuma ve İşleme

Temiz satır işleme için with, for line in f: ve .strip() ifadelerini birleştirin: satır sonlarını kaldırın ve boş satırları atlayın.
lines = ['  hello  \n', '  world  \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)

with ile Yazma

with open('out.txt','w') as f: f.write('data') — bloktan çıkıldığında dosyanın tamponu temizlenir ve dosya kapatılır.
# with open('out.txt', 'w') as f:
#     for i in range(10):
#         f.write(f'{i}\n')
print('write with demo')

Dosyanın Var Olup Olmadığını Denetleme

import os; os.path.exists('file.txt'), dosya varsa True döndürür. FileNotFoundError oluşmasını önler.
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))

open() Hataları

FileNotFoundError: dosya yoktur. PermissionError: okuma veya yazma izni yoktur. Güvenilir hata yönetimi için try/except ile sarın.
try:
    with open('/nonexistent.txt') as f:
        pass
except FileNotFoundError as e:
    print('File not found:', e)

Bellek İçi Dosyalar için StringIO

from io import StringIO, bir dizeyi dosya nesnesi olarak kullanmanızı sağlar; dosya işleme kodunu test etmek için harikadır.
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
    print(line.rstrip())

tempfile Modülü

tempfile.NamedTemporaryFile(), kapatıldığında silinen geçici bir dosya oluşturur. Geçici veri işleme için güvenlidir.
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
    f.write('temp data')
    print(f.name)

Hızlı Kontrol

Dosya G/Ç işlemleriyle kullanıldığında with ifadesi neyi garanti eder?

Özet

with open(f) as h: h dosyasını otomatik olarak kapatır. Birden çok dosya için birden çok hedef kullanın. Bellek içi testler için StringIO kullanın. FileNotFoundError durumunu uygun şekilde yönetin.

Devam Edin

Harika çalıştınız! İlerlemenizi sürdürmek için sonraki derse geçin.

Sıkça Sorulan Sorular

“Dosyalar için with Deyimini Kullanma” dersi ücretsiz mi?

Evet — “Dosyalar için with Deyimini Kullanma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“Dosyalar için with Deyimini Kullanma” dersinde ne öğreneceğim?

Bağlam yöneticilerini kullanarak dosyaların otomatik olarak kapatılmasını sağlayın. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Dosyalar için with Deyimini Kullanma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Dosyaları Açma ve Okuma
  2. Dosyalara Yazma ve Veri Ekleme
  3. Dosyalar için with Deyimini Kullanma
  4. pathlib ile Dosya Yollarıyla Çalışma
← Python Academy Sayfasına Dön