AMP Analytics -->

Teknoloji Rehberi

8 Mayıs 2025 Perşembe

Python'da File Handling (Dosya İşlemleri)

 

Python'da File Handling (Dosya İşlemleri)

Python'da dosya işlemleri, verileri kalıcı olarak saklamak veya dış kaynaklardan veri okumak için oldukça önemlidir. İşte Python'da dosya işlemlerinin ayrıntılı açıklaması:

Dosya Açma Modları

Python'da open() fonksiyonu ile dosyaları farklı modlarda açabiliriz:

  • 'r' - Read (Okuma, varsayılan mod)

  • 'w' - Write (Yazma, dosyayı siler ve yeniden oluşturur)

  • 'a' - Append (Ekleme, dosya sonuna ek yapar)

  • 'x' - Create (Oluşturma, dosya varsa hata verir)

  • 'b' - Binary (İkili mod)

  • 't' - Text (Metin modu, varsayılan)

  • '+' - Update (Güncelleme, okuma ve yazma)

Temel Dosya İşlemleri

1. Dosya Okuma

python
Copy
Download
# Dosyayı okuma modunda açma
with open('dosya.txt', 'r') as dosya:
    icerik = dosya.read()
    print(icerik)

Alternatif okuma yöntemleri:

python
Copy
Download
# Satır satır okuma
with open('dosya.txt', 'r') as dosya:
    for satir in dosya:
        print(satir, end='')

# Tüm satırları liste olarak okuma
with open('dosya.txt', 'r') as dosya:
    satirlar = dosya.readlines()
    print(satirlar)

2. Dosyaya Yazma

python
Copy
Download
# Dosyayı yazma modunda açma (var olan içeriği siler)
with open('dosya.txt', 'w') as dosya:
    dosya.write('Bu birinci satır.\n')
    dosya.write('Bu ikinci satır.\n')

3. Dosyaya Ekleme Yapma

python
Copy
Download
# Dosyayı ekleme modunda açma (içeriği korur ve sonuna ek yapar)
with open('dosya.txt', 'a') as dosya:
    dosya.write('Bu sona eklenen satır.\n')

4. Dosya Konumunu Yönetme

python
Copy
Download
with open('dosya.txt', 'r+') as dosya:
    # Şu anki konumu oku
    print(dosya.tell())  # 0
    
    # İlk 10 karakteri oku
    print(dosya.read(10))
    
    # Konumu 5. karaktere getir
    dosya.seek(5)
    
    # 5. karakterden itibaren oku
    print(dosya.read())

İleri Dosya İşlemleri

1. Binary Dosya İşlemleri

python
Copy
Download
# Binary okuma
with open('resim.jpg', 'rb') as dosya:
    binary_veri = dosya.read()

# Binary yazma
with open('kopya.jpg', 'wb') as dosya:
    dosya.write(binary_veri)

2. CSV Dosya İşlemleri

python
Copy
Download
import csv

# CSV yazma
with open('veriler.csv', 'w', newline='') as dosya:
    yazici = csv.writer(dosya)
    yazici.writerow(['Ad', 'Soyad', 'Yaş'])
    yazici.writerow(['Ahmet', 'Yılmaz', 25])
    yazici.writerow(['Ayşe', 'Kaya', 30])

# CSV okuma
with open('veriler.csv', 'r') as dosya:
    okuyucu = csv.reader(dosya)
    for satir in okuyucu:
        print(satir)

3. JSON Dosya İşlemleri

python
Copy
Download
import json

# JSON yazma
veri = {'ad': 'Ahmet', 'soyad': 'Yılmaz', 'yas': 25}
with open('veri.json', 'w') as dosya:
    json.dump(veri, dosya)

# JSON okuma
with open('veri.json', 'r') as dosya:
    yuklenen_veri = json.load(dosya)
    print(yuklenen_veri)

Dosya ve Dizin İşlemleri (os ve shutil modülleri)

python
Copy
Download
import os
import shutil

# Dosya varlığını kontrol etme
if os.path.exists('dosya.txt'):
    print("Dosya mevcut")

# Dosya boyutu
print(os.path.getsize('dosya.txt'))

# Dosya silme
os.remove('dosya.txt')

# Dosya taşıma/yeniden adlandırma
shutil.move('eski.txt', 'yeni.txt')

# Dizin oluşturma
os.mkdir('yeni_klasor')

# Dizin içeriğini listeleme
print(os.listdir('.'))

Best Practices (En İyi Uygulamalar)

  1. with ifadesini kullanın: Dosyaları otomatik olarak kapatır ve hata yönetimini kolaylaştırır.

  2. Dosya yollarında os.path kullanın: Platform bağımsız yol oluşturmak için.

  3. Büyük dosyaları parça parça okuyun: Bellek tüketimini azaltmak için.

  4. Dosya işlemlerinde hata yönetimi ekleyin: try-except blokları kullanın.

python
Copy
Download
try:
    with open('olmayan_dosya.txt', 'r') as dosya:
        icerik = dosya.read()
except FileNotFoundError:
    print("Dosya bulunamadı!")
except IOError:
    print("Dosya okuma hatası!")

Python'da dosya işlemleri, veri yönetimi ve kalıcı depolama için temel bir beceridir. Bu işlemleri doğru şekilde uygulamak, güvenli ve verimli uygulamalar geliştirmenize yardımcı olacaktır.

Hiç yorum yok:

Yorum Gönder

Popular Posts