Python dosyalarda truncate metodu

Herkese merhaba…dosylaların metotlarını incelerken truncate() metodunun bi özelliyini gördüm…dosya boyutunu artırmak özelliyi…bu özellik ne işe yarar,ve özellikleri nelerdir?

Merhaba,

truncate() yöntemi dosya boyutunu arttırmaya değil, dosya içeriğini sondan başlayarak kırpmaya yarıyor. Ne kadar karakterin kırpılmayacağını, fonksiyonu çağırırken belirliyoruz.

Örneğin:

dosya = open("test.txt", "w")
dosya.write("Merhaba Dünya")
# dosya.truncate(0) # Dosya içindeki tüm yazılar silinir.
# dosya.truncate(1) # Dosya içinde sadece 'M' harfi kalır.
# dosya.truncate(2) # Dosya içinde sadece 'Me' harfleri kalır.
# dosya.truncate(3) # Dosya içinde sadece 'Mer' harfleri kalır.
dosya.truncate(7) # Dosya içinde sadece 'Merhaba' kelimesi kalır.
dosya.close()

amma bi özelliyi daha var… mesela dosya.truncate(1024*1) yazarsak,(1 den başka da yaza biliriz) dosyanın boyutunu 1 bayt artırıyor. 1 bayt artırmak için dosyanın geri kalanını ox00 lar ile dolduruyor. onları da yalnız dosya.read() fonksiyonu ile görmek mümkün

Dosyanın boyutu gereksiz yere artmış oluyor. Yani yukarıdaki örneğe geri dönelim isterseniz:

dosya = open("test.txt", "w")
dosya.write("Merhaba Dünya")
# dosya.truncate(0) # Dosya içindeki tüm yazılar silinir.
# dosya.truncate(1) # Dosya içinde sadece 'M' harfi kalır.
# dosya.truncate(2) # Dosya içinde sadece 'Me' harfleri kalır.
# dosya.truncate(3) # Dosya içinde sadece 'Mer' harfleri kalır.
dosya.truncate(25) # Dosyaya gereksiz yere byte verileri eklemiş olur.
dosya.close()

Çünkü dosya içinde 25 tane karakter zaten yok.

Anladım))) çok teşekkür ederim :slightly_smiling_face: :slightly_smiling_face::slightly_smiling_face: