Anonim kullanıcı
Daha
Python'da bir dosyaya nasıl ekleme yaparsınız?
Dosyanın üzerine yazmak yerine dosyaya nasıl ekleme yaparsınız? Dosyaya ekleme yapan özel bir fonksiyon var mı?
1439
3
Mod olarak "a" veya "ab" ayarlayarak dosyayı ekleme modunda açmanız gerekir. Bakınız open().
a" modu ile açtığınızda, yazma konumu her zaman dosyanın sonunda olacaktır (bir ekleme). Okumaya, geriye doğru aramaya ve okumaya izin vermek için "a+" ile açabilirsiniz (ancak tüm yazmalar yine de dosyanın sonunda olacaktır!).
Örnek:
Not: 39;a' kullanmak, 'w' ile açıp dosyanın sonuna kadar aramakla aynı şey değildir - başka bir program dosyayı açıp arama ve yazma arasında yazmaya başlarsa neler olabileceğini düşünün. Bazı işletim sistemlerinde, dosyayı 'a' ile açmak, sonraki tüm yazmalarınızın dosyanın sonuna atomik olarak ekleneceğini garanti eder (dosya diğer yazmalarla büyüse bile).
a" modunun nasıl çalıştığı hakkında birkaç ayrıntı daha (sadece Linux üzerinde test edilmiştir). Geri arama yapsanız bile, her yazma işlemi dosyanın sonuna eklenir:
Aslında,
fopen
manpage şunu belirtir:Eski basitleştirilmiş cevap (
with
kullanmadan):Örnek: (gerçek bir programda dosyayı kapatmak için
with
kullanın - belgelere bakın)Muhtemelen mod argümanı olarak
"a"
geçmek istersiniz. open()]1 için dokümanlara bakın.Güncelleme (+), kesme (w) ve ikili (b) modu için mod bağımsız değişkeninin başka permütasyonları da vardır, ancak sadece
"a"
ile başlamak en iyi seçeneğinizdir.