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
# Dosyayı okuma modunda açma with open('dosya.txt', 'r') as dosya: icerik = dosya.read() print(icerik)
Alternatif okuma yöntemleri:
# 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
# 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
# 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
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
# 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
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
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)
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)
with ifadesini kullanın: Dosyaları otomatik olarak kapatır ve hata yönetimini kolaylaştırır.
Dosya yollarında
os.pathkullanın: Platform bağımsız yol oluşturmak için.Büyük dosyaları parça parça okuyun: Bellek tüketimini azaltmak için.
Dosya işlemlerinde hata yönetimi ekleyin:
try-exceptblokları kullanın.
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