Python Dosyaya Yazma
Python'da dosyaya yazma işlemi, bir dosyaya veri ekleme veya var olan veriyi değiştirme amacıyla kullanılır. Bu işlemi gerçekleştirmek için öncelikle dosyanın yazma veya ekleme modunda açılması gerekir. Python, dosyaya yazmak için çeşitli modlar ve yöntemler sunar.
1. Dosya Yazma Modları
Dosyaya yazma işlemi için open() fonksiyonunu kullanarak dosyayı yazma modunda açmanız gerekir. Kullanılabilecek bazı modlar şunlardır:
-
'w'(write): Yazma modunda açar. Eğer dosya zaten varsa, içeriğini siler ve yeni baştan yazar. Dosya yoksa yeni bir dosya oluşturur. -
'a'(append): Ekleme modunda açar. Mevcut dosyanın sonuna yeni veriler ekler. Dosya yoksa oluşturur. -
'x'(exclusive creation): Dosya oluşturma modunda açar. Eğer dosya zaten varsa, hata verir. -
'b': İkili (binary) modda açar. Metin yerine ikili veri yazmak için kullanılır. -
't': Metin modunda açar (varsayılan mod).
2. Dosyaya Yazma Yöntemleri
Python'da dosyaya veri yazmak için iki temel yöntem vardır: write() ve writelines().
write() : Tek Satır veya Metin Yazma
write() metodu, dosyaya bir string (metin) yazar. Eğer bir sayı veya başka bir veri türü yazmak isterseniz, önce string'e dönüştürmeniz gerekir.
with open("dosya.txt", "w") as dosya: dosya.write("Merhaba Dünya!
") # Dosyaya metin yazılır Bu örnekle dosya, içeriği silinerek yeniden yazılır ve içine "Merhaba Dünya!" metni eklenir.
writelines() : Birden Fazla Satır Yazma
writelines() metodu, birden fazla satırı (veya string'i) liste ya da başka bir iterable yapıdan dosyaya yazar. writelines() metodu, her satır için sonuna yeni satır karakteri (
) eklemez. Bunu manuel olarak eklemek gerekir.
satirlar = ["Python
", "Dosya
", "Yazma
"] with open("dosya.txt", "w") as dosya: dosya.writelines(satirlar) # Birden fazla satırı dosyaya yazar 3. Dosyaya Ekleme (Append) Modu
Eğer mevcut bir dosyanın içeriğini silmek istemiyorsanız, sadece sonuna veri eklemek için 'a' (append) modunu kullanabilirsiniz.
with open("dosya.txt", "a") as dosya: dosya.write("Yeni satır ekliyorum.
") # Dosyanın sonuna ekler Bu modda dosya içeriği silinmez; eklenen veriler dosyanın sonuna eklenir.
4. İkili (Binary) Dosya Yazma
Eğer bir dosyaya ikili (binary) veri yazmanız gerekiyorsa, 'b' modunu kullanarak dosyayı açmanız gerekir. Örneğin, bir görüntü dosyasını ikili olarak yazmak için:
with open("resim.jpg", "rb") as kaynak_dosya: veri = kaynak_dosya.read() with open("kopya_resim.jpg", "wb") as hedef_dosya: hedef_dosya.write(veri) # İkili veri dosyaya yazılır 5. Örnek: Kullanıcıdan Veri Alarak Dosyaya Yazma
Kullanıcıdan alınan verileri dosyaya yazmak için:
veri = input("Dosyaya yazmak istediğiniz metni girin: ") with open("kullanici_verisi.txt", "w") as dosya: dosya.write(veri + "
") # Kullanıcıdan alınan veriyi dosyaya yazar Özet
-
'w'(write): Dosyayı yazma modunda açar, içeriği siler ve yeni veri yazar. -
'a'(append): Dosyanın sonuna veri eklemek için kullanılır. -
write(): Tek bir string verisini dosyaya yazar. -
writelines(): Birden fazla satırı liste halinde dosyaya yazar. -
withbloğu: Dosyanın güvenli bir şekilde otomatik kapanmasını sağlar.
Dosyaya yazma işlemi, Python'da veri saklamak, raporlar oluşturmak veya çıktı üretmek için yaygın bir yöntemdir.
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 Dosyaya Yazma 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!