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.

Yorum Gönder

0 Yorumlar