Python Dosya Yönetimi Nedir?
Python'da dosya yönetimi, programın dış dünyayla (diskteki dosyalarla) etkileşime girmesini sağlar. Bu sayede programlar veri yazabilir, okuyabilir, dosyaları açabilir, düzenleyebilir ve kapatabilir. Python, dosya yönetimi işlemleri için yerleşik işlevler ve yöntemler sunar. Bu işlemleri yaparken dosyanın nerede bulunduğu, ne tür veri içerdiği ve nasıl açılacağı önemlidir.
Dosya Açma ve Kapatma
Python'da dosyaları açmak için yerleşik open() fonksiyonu kullanılır. Bu fonksiyon dosyayı açar ve üzerinde işlem yapmamızı sağlar. Dosyayı işimiz bitince kapatmak için ise close() yöntemi kullanılır. Ancak with bloğu kullanılarak dosyalar otomatik olarak kapatılabilir.
open() Fonksiyonu
open(file, mode) - file: Açılacak dosyanın adı veya yoludur.
- mode: Dosyanın hangi modda açılacağını belirler (okuma, yazma, ekleme vs.).
Modlar
| Mod | Anlamı |
|---|---|
'r' | Dosyayı okuma modunda açar. (Varsayılan) Dosya yoksa hata verir. |
'w' | Dosyayı yazma modunda açar. Dosya yoksa oluşturur, varsa içeriği silinir. |
'a' | Dosyayı ekleme (append) modunda açar. Dosya yoksa oluşturur, varsa veriler sonuna eklenir. |
'x' | Dosyayı yalnızca yeni oluşturma modunda açar. Dosya zaten varsa hata verir. |
'b' | İkili (binary) modda açar. İkili dosyalarla (resim, video vb.) çalışırken kullanılır. |
't' | Metin modunda açar. (Varsayılan) |
'+' | Hem okuma hem de yazma modunda açar. |
Dosya Açma Örnekleri:
# Dosyayı okuma modunda açma dosya = open("dosya.txt", "r") # Dosyayı yazma modunda açma dosya = open("dosya.txt", "w") # Dosyayı ekleme modunda açma dosya = open("dosya.txt", "a") Dosya Kapatma
Bir dosya üzerinde işlem yapıldıktan sonra kapatılmalıdır. Python, dosyayı kapatmak için close() fonksiyonunu kullanır. Eğer dosya kapatılmazsa, sistem kaynakları boş yere kullanılmış olur.
dosya.close()
Bloğu ile Dosya Yönetimi
with bloğu, dosyayı açıp işlem bittikten sonra otomatik olarak kapatan güvenli bir yöntemdir. Dosyayı manuel olarak close() ile kapatmak zorunda kalmazsınız.
with open("dosya.txt", "r") as dosya: icerik = dosya.read() # Dosyayı oku # Bu bloğun dışında dosya otomatik olarak kapatılır Dosyadan Okuma İşlemleri
Python, bir dosyadan veri okuma işlemleri için çeşitli yöntemler sunar:
-
read(): Dosyanın tamamını okur ve bir string olarak döner. -
readline(): Dosyadan bir satır okur. -
readlines(): Dosyadaki her satırı bir liste olarak döner.
Örnek:
with open("dosya.txt", "r") as dosya: # Dosyanın tamamını okuma icerik = dosya.read() print(icerik) # Dosyadan bir satır okuma dosya.seek(0) # Dosya imlecini başa alır satir = dosya.readline() print(satir) # Dosyadaki tüm satırları liste halinde okuma dosya.seek(0) satirlar = dosya.readlines() print(satirlar) Dosyaya Yazma İşlemleri
Bir dosyaya veri yazmak için Python'da aşağıdaki yöntemler kullanılır:
-
write(): Belirtilen metni dosyaya yazar. -
writelines(): Birden fazla satırı liste olarak dosyaya yazar.
Örnek:
with open("dosya.txt", "w") as dosya: # Dosyaya metin yazma dosya.write("Merhaba, dünya!
") # Birden fazla satırı liste olarak yazma satirlar = ["Python", "Dosya", "Yönetimi
"] dosya.writelines(satirlar) Dosyada İmleç (Pointer) Yönetimi
Dosya okuma ve yazma işlemleri sırasında imleç (pointer) dosyada nereden işlem yapılacağını belirler. Python'da imleç konumunu yönetmek için iki önemli yöntem vardır:
-
seek(): Dosya imlecini belirtilen bayt konumuna taşır. -
tell(): Dosya imlecinin bulunduğu konumu döner.
Örnek:
with open("dosya.txt", "r") as dosya: print(dosya.tell()) # İmlecin bulunduğu konumu gösterir dosya.seek(5) # İmleci 5. bayta taşır print(dosya.read()) # İmlecin bulunduğu yerden itibaren okur Dosya Modları ve İkili Dosyalar
Dosyalar metin modunda ('t') açılır, ancak resim, video gibi ikili (binary) dosyalar üzerinde işlem yaparken ikili mod ('b') kullanılır. Örneğin, bir görüntü dosyasını açmak ve yazmak için:
# İkili modda bir resim dosyasını okuma ve yazma with open("resim.jpg", "rb") as dosya: veri = dosya.read() with open("kopya_resim.jpg", "wb") as dosya: dosya.write(veri) Dosya Yönetimi İşlemleri
Python, sadece dosya açma, okuma ve yazma değil, aynı zamanda dosya silme, taşıma ve yeniden adlandırma gibi işlemler için de çeşitli işlevler sunar. Bu işlemler genellikle os ve shutil modülleri ile yapılır.
Örnek:
import os # Dosya silme os.remove("dosya.txt") # Dosya adını değiştirme os.rename("eski_dosya.txt", "yeni_dosya.txt") Özet
- Dosya açma:
open()fonksiyonu ile dosya açılır ve belirli modlarla (okuma, yazma, ekleme) işlem yapılır. - Dosya okuma:
read(),readline(),readlines()gibi fonksiyonlarla dosya okunur. - Dosya yazma:
write()vewritelines()ile dosyaya yazma işlemi yapılır. - Dosya kapatma:
close()ile dosya kapatılır, ancakwithbloğu dosyayı otomatik kapatır. - İkili dosyalar: İkili modda (
'b') dosyalar okunur ve yazılır. - Dosya yönetimi:
osveshutilmodülleri ile dosya silme, taşıma ve ad değiştirme işlemleri yapılır.
Bu işlemler, dosya yönetiminin temelini oluşturur ve Python'da veri depolama, işleme ve dış kaynaklarla etkileşim için kullanılır.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Python Dosya Yönetimi Nedir? dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!