Güvenli Dosya Yazma Hakkında

Herkese merhabalar,

Temel Dosya İşlemleri — Python 3 için Türkçe Kılavuz da hocamız, “Bu arada, aslında yukarıdaki kodlarda uyguladığımız yöntem biraz güvensiz. Çünkü aynı dosyayı hem okuyup hem de bu dosyaya yeni veri ekliyoruz. Eğer bu işlemlerin herhangi bir aşamasında bir hata oluşursa, bütün değişiklikleri dosyaya işleyemeden dosya içeriğini tümden kaybedebiliriz. Bu tür risklere karşı en uygun çözüm, okuma ve yazma işlemlerini ayrı dosyalar üzerinde gerçekleştirmektir. Bunun nasıl yapılacağından biraz sonra söz edeceğiz. Biz şimdi başka bir konuya değinelim.” Ancak değinmemiş, bu işlemi nasıl yapıyoruz acaba?

Yukarıda ki kodda yazma işlemi yaparken (fihrist.txt) txt dosyasını kullanmak yerine başka bir txt dosyasını kullabilirdi mesele :

with open(“fihrist.txt”, “r”) as f:
veri = f.readlines()

with open(“kisiler.txt”, “w”) as f: # burda başka bir dosyaya kaydemiş olduk.
veri.insert(2, “Sedat Köz\t: 0322 234 45 45\n”)
f.writelines(veri)

eğer yukarıda yine fihrist.txt üzerinde bir yazma işlemi yapsaydık ve bu işlemimiz yanlış olsaydı bizim elimizdeki ilk fihrist.txt dosyamızda bozulmuş olurdu yani içindeki veri yanlış yapmış olduğumuz işlemle değişirdi.

Umarım kafanı karıştırmamışımdır . Daha net açıklamamı istersen lütfen belirt.

fihristi.txt’i veri değişkenine attık, sonra yeni bir dosya oluşturup ve gerekli değişikliği uygulayıp “veri” değişkinini uygulanan değişiklikle beraber, yeni dosyaya atmış olduk. Böylelikle, ikinci oluşturduğumuz dosya bizim güncel dosyamız oldu. Doğru mu anladım?

Aynen öyle yapmış olduk eğer yeni dosyaya atmamış olup da eskisinin üstüne yazsak da olurdu ama yukarıda denildiği gibi pek sağlıklı olmazdı bu . Hata yaptığımız takdirde bizim asıl veriilerimiz de değişmiş olucaktı. Sonuçta ‘w’ kipi o dosyanın üzerine yazmakta.

Çok iyi anladım. Emeğinize yüreğinize sağlık. Geç bir cevap oldu kusura bakmayın. Size ve sevdiklerinize güzel günler diliyorum