Belirli bir Python koşuluna sahip bir metin dosyasına yeni bir dize ekleyin

0

Soru

Python ile dosyanın sonunda yeni bir satırda yeni bir dizeyle belirli bir metin dosyasını güncellemeye çalıştım. Dosyanın sonunda boş bir satır olabilir ve bazen olmayabilir. Bunu yapmak için aşağıdaki komut dosyasını denedim.

 with open(fname, 'a') as file:
     file.write("\n"+newRow)

newRow eklenecek yeni metin içeren bir değişkendir. Dosyanın son satırı boş değilse iyi çalışır. Ancak bu doğru değil dosyanın son satırında boş bir alan var. Bu durumda, dosyanın son satır ile yeni satır arasında boş bir alanı olacaktır.

aaaa
bbbb

newRow

Soru şu ki, dosyanın son satırının boş satır olup olmadığını nasıl kontrol edebilirim. Readlines () kullanarak metin dosyasının her satırını bir listede saklayabileceğimi, ardından son satırı kontrol edebileceğimi buldum. Ama 'açık' kullanırsam bunu nasıl yapacağımı bilmiyorum. Sonuç olarak, amaçlanan sonuç herhangi bir metin dosyası için aşağıdaki gibidir

aaaa
bbbb
newRow

Nasıl bu sonuca ulaşabilir miyim?

şimdiden teşekkür ederim

editing file python text
2021-11-23 15:42:14
1

En iyi cevabı

0

Bunu dene:

with open("prova.txt", "r+") as file:
    lines = file.readlines()
    # this will put the seek pointer to the end of file
    file.seek(0,2)

    if lines[len(lines) - 1] == '\n':
        file.write("newRow")
    else:
        file.write("\nnewRow")
2021-11-23 16:17:47

Thanks..it benim durumumda işe yarayabilir..
Fadri

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................