Python Dosya Yönetimi Nedir?

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()

with 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() ve writelines() ile dosyaya yazma işlemi yapılır.
  • Dosya kapatma: close() ile dosya kapatılır, ancak with bloğu dosyayı otomatik kapatır.
  • İkili dosyalar: İkili modda ('b') dosyalar okunur ve yazılır.
  • Dosya yönetimi: os ve shutil modü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.



Yorum Ekle

Üzerine gel