En üstten aşağı doğru txt yazma

Merhabalar alttaki kod ile veriyi txt’ye alt alta yazıyor ama son veriyi bulmak için çok aşağılara gitmem gerekiyor. en yeni satırı en üste ondan sonra aşağı doğru devam etmesi için nasıl bir kod uygulamak gerekiyor? son yazılan en üstte olacak…

def write_log(data):
file_name = ‘/home/pi/MEGA/test.txt’
with open(file_name, ‘a’) as f:
f.write(data)

Kod veriyi dosyanin sonuna yaziyor. open ile kullandigin append modunun tanimi bu. “Prepend” gibi bir mod yok—dedigini yapmak istiyorsan elle yapacaksin.

Son veriyi bulmak icin cok asagilara gitmen gerekiyorsa bu kullandigin aletlerle (veya aletleri kullaniminla) ilgili bir sorun, zira sonradan gelen datayi dosyanin sonuna yazmak standart.

Raspberry Pi kullandigini ve *nix dunyasina yeni oldugunu tahmin ediyorum. Ne yapmaya calisiyorsun? Hangi aletleri (programlari) kullaniyorsun? tail(1)'dan ve less(1)'in G komutundan haberin var mi?

Aşağıdaki kodu incelersen istediğini yapabilirsin.

data = input("Kayıt giriniz: ") # Bu kısımda eklenecek veriyi fonksiyona atamadım, manuel girmek istedim. 

with open("/home/pi/MEGA/test.txt", "r+") as f: # Dosyamızı hem okuma hem de yazma kipinde açıyoruz.
    icerik = f.read() #dosya içeriğini hafızaya alıyoruz geçici olarak bir yere kopyaladığımızı düşün.
    f.seek(0) #kursörü / imleci dosya başına taşıyoruz.
    f.write(data + "\n" + icerik) # son kaydı dosyanın başına yazıyoruz, ardından alt satıra geçiyoruz ve aldığımız dosya içeriğini tekrar dosyaya dahil ediyoruz.
def write_log(data):
    
    with open("/home/pi/MEGA/test.txt", "r+") as f:
       icerik = f.read()
       f.seek(0)
       f.write(data + "\n" + icerik)

Kaynak: Temel Dosya İşlemleri — Python 3 için Türkçe Kılavuz