Python, dosyalarla çalışmak için oldukça kullanışlı ve güçlü araçlar sunar. Dosya okuma, yazma, oluşturma, silme gibi işlemleri kolayca gerçekleştirebilirsiniz. Bu rehberde, Python’da dosya işlemlerine dair temel ve faydalı bilgileri bulabilirsiniz.
1. Dosya Açma (open)
Python’da bir dosyayı açmak için open()
fonksiyonu kullanılır. Bu fonksiyon, aşağıdaki iki parametre ile çağrılır:
- Dosya adı: İşlem yapılacak dosyanın adı.
- Mod: Dosyanın nasıl açılacağını belirler.
Mod Türleri
Mod | Açıklama |
---|---|
r | Sadece okuma modu (Varsayılan). Dosya yoksa hata verir. |
w | Yazma modu. Dosya yoksa oluşturur, varsa içeriği siler. |
a | Ekleme modu. Dosya yoksa oluşturur, varsa sonuna ekleme yapar. |
x | Oluşturma modu. Dosya varsa hata verir. |
r+ | Hem okuma hem yazma modu. |
2. Dosya Okuma
Bir dosyanın içeriğini okumak için read()
, readline()
, veya readlines()
kullanılabilir.
Örnek: Tüm Dosyayı Okuma
with open("ornek.txt", "r") as dosya:
içerik = dosya.read()
print(içerik)
Örnek: Satır Satır Okuma
with open("ornek.txt", "r") as dosya:
for satır in dosya:
print(satır.strip())
Örnek: Belirli Bir Satırı Okuma
with open("ornek.txt", "r") as dosya:
ilk_satır = dosya.readline()
print(ilk_satır)
3. Dosyaya Yazma
Dosyaya yazmak için write()
veya writelines()
kullanılabilir.
Örnek: Dosyaya Yazma
with open("ornek.txt", "w") as dosya:
dosya.write("Bu, dosyaya yazılan ilk satırdır.\n")
dosya.write("İkinci satırı da yazdık.\n")
Örnek: Dosyanın Sonuna Yazma
with open("ornek.txt", "a") as dosya:
dosya.write("Bu, dosyanın sonuna eklenen bir satırdır.\n")
4. Dosya Silme
Dosyayı silmek için os
modülündeki remove()
fonksiyonu kullanılır.
Örnek: Dosya Silme
import os
dosya_adi = "ornek.txt"
if os.path.exists(dosya_adi):
os.remove(dosya_adi)
print(f"{dosya_adi} dosyası silindi.")
else:
print(f"{dosya_adi} dosyası bulunamadı.")
5. Dosya Varlığını Kontrol Etme
Dosyanın var olup olmadığını kontrol etmek için os.path.exists()
kullanılabilir.
import os
if os.path.exists("ornek.txt"):
print("Dosya mevcut.")
else:
print("Dosya bulunamadı.")
6. Dosya Kopyalama ve Yeniden Adlandırma
Dosyayı kopyalamak için shutil
modülü, yeniden adlandırmak için ise os.rename()
kullanılır.
Örnek: Dosya Yeniden Adlandırma
import os
os.rename("eski_ad.txt", "yeni_ad.txt")
Örnek: Dosya Kopyalama
import shutil
shutil.copy("ornek.txt", "kopya_ornek.txt")
Örnek Uygulamalar
1. Kullanıcıdan Veri Alıp Dosyaya Yazma
dosya_adi = "veriler.txt"
with open(dosya_adi, "w") as dosya:
for i in range(3):
veri = input(f"{i+1}. veriyi girin: ")
dosya.write(veri + "\n")
1. Dosyadaki Satır Sayısını Bulma
with open("ornek.txt", "r") as dosya:
satır_sayısı = len(dosya.readlines())
print(f"Dosyada {satır_sayısı} satır var.")