Python’da dosya işlemleri, dosya açma, okuma, yazma ve kapatma gibi temel işlemleri içerir. Bu işlemler, programların dış dünyayla veri alışverişi yapmasını sağlar. Python, dosya işlemleri için yerleşik fonksiyonlar ve yöntemler sağlar.
1. Dosya Açma (Opening a File)
Python’da bir dosya açmak için open()
fonksiyonu kullanılır. Bu fonksiyon, dosyayı belirtilen modda açar ve bir dosya nesnesi döner. Dosya açma modları şunlardır:
'r'
: Okuma modu. Dosya sadece okumak için açılır. Varsayılan moddur.'w'
: Yazma modu. Dosya sadece yazmak için açılır. Eğer dosya mevcutsa içeriği silinir, mevcut değilse yeni bir dosya oluşturulur.'a'
: Ekleme modu. Dosya mevcutsa, içeriğin sonuna ekleme yapılır; mevcut değilse yeni bir dosya oluşturulur.'b'
: İkili mod. Dosya ikili (binary) formatta açılır. (örneğin, resim veya ses dosyaları için)'x'
: Oluşturma modu. Dosya sadece yeni oluşturulmak üzere açılır; dosya zaten mevcutsa hata verir.
a. Dosya Açma Örneği
# 'example.txt' dosyasını okuma modunda açma
file = open("example.txt", "r")
2. Dosya Okuma (Reading a File)
Bir dosya açıldıktan sonra, dosya içeriğini okumanın birkaç yolu vardır.
a. read()
Metodu
read()
metodu, dosyanın tamamını tek seferde okur ve bir string olarak döner.
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()
Bu örnekte, example.txt
dosyasının içeriği okunur ve ekrana yazdırılır.
b. readline()
Metodu
readline()
metodu, dosyanın bir satırını okur. Bir sonraki çağrıldığında, bir sonraki satırı okur.
file = open("example.txt", "r")
line = file.readline()
print(line)
file.close()
c. readlines()
Metodu
readlines()
metodu, dosyanın tüm satırlarını bir liste olarak döner. Her satır listenin bir elemanı olur.
file = open("example.txt", "r")
lines = file.readlines()
print(lines)
file.close()
3. Dosya Yazma (Writing to a File)
Bir dosyaya yazmak için dosya 'w'
veya 'a'
modlarında açılmalıdır.
a. write()
Metodu
write()
metodu, dosyaya string yazmak için kullanılır.
file = open("example.txt", "w")
file.write("Bu bir deneme yazısıdır.")
file.close()
Bu örnekte, example.txt
dosyasına “Bu bir deneme yazısıdır.” yazılır.
b. writelines()
Metodu
writelines()
metodu, bir liste içindeki birden fazla satırı dosyaya yazmak için kullanılır. Her bir satır, liste içinde bir string olarak verilmelidir.
file = open("example.txt", "w")
lines = ["Satır 1\n", "Satır 2\n", "Satır 3\n"]
file.writelines(lines)
file.close()
4. Dosya Ekleme (Appending to a File)
Bir dosyanın sonuna yeni veri eklemek için dosya 'a'
modunda açılır.
file = open("example.txt", "a")
file.write("\nBu satır dosyanın sonuna eklenmiştir.")
file.close()
Bu örnekte, mevcut dosyanın sonuna yeni bir satır eklenir.
5. Dosyaları Otomatik Kapatma (with Açıklaması)
Dosyalarla çalışırken, dosyanın mutlaka kapatılması gerekir (close()
metodu ile). Ancak, Python’da with
ifadesi ile dosyaları açmak, dosyanın otomatik olarak kapatılmasını sağlar.
a. with
Kullanımı
with open("example.txt", "r") as file:
content = file.read()
print(content)
Bu örnekte, dosya with
bloğundan çıkıldığında otomatik olarak kapatılır.
6. Dosya İşlemleri ve Hata Yönetimi
Dosya işlemleri sırasında hatalar oluşabilir (örneğin, dosya mevcut değilse). Bu durumlar try-except
bloklarıyla yönetilebilir.
a. Hata Yönetimi ile Dosya Açma
try:
with open("example.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("Dosya bulunamadı!")
Bu örnekte, example.txt
dosyası bulunamazsa FileNotFoundError
hatası yakalanır ve uygun bir mesaj yazdırılır.
7. İkili Dosya İşlemleri (Binary File Operations)
İkili dosyalar (örneğin, resimler, ses dosyaları), 'b'
modu kullanılarak okunabilir veya yazılabilir.
a. İkili Dosya Okuma
with open("example.jpg", "rb") as file:
content = file.read()
# İkili veriyle işlem yapabilirsiniz
b. İkili Dosya Yazma
with open("output.jpg", "wb") as file:
file.write(content)
8. Dosya Varlığını Kontrol Etme
Dosyanın mevcut olup olmadığını kontrol etmek için os
modülü kullanılabilir.
a. Dosya Varlığını Kontrol Etme
import os
if os.path.exists("example.txt"):
print("Dosya mevcut.")
else:
print("Dosya bulunamadı.")
9. Dosya Silme
Dosyayı silmek için os.remove()
fonksiyonu kullanılabilir.
a. Dosya Silme Örneği
import os
if os.path.exists("example.txt"):
os.remove("example.txt")
print("Dosya silindi.")
else:
print("Silinecek dosya bulunamadı.")
Python’da dosya işlemleri, verileri okuma, yazma, ekleme ve silme gibi işlemleri içerir. Dosyalarla çalışırken dikkat edilmesi gereken en önemli şeylerden biri, dosyaların düzgün bir şekilde kapatılmasıdır. with
ifadesi, dosyaları otomatik olarak kapatarak bu süreci kolaylaştırır. Hata yönetimi, dosya işlemleri sırasında oluşabilecek sorunları ele almak için önemlidir. Python, dosyalar üzerinde esnek ve güçlü bir kontrol sunarak veri işleme ve depolama işlemlerini kolaylaştırır.
Bir yanıt yazın