Adicione nova seqüência de caracteres em um arquivo de texto com determinada condição Python

0

Pergunta

Eu tentei a actualização determinado arquivo de texto com uma nova seqüência de caracteres em uma nova linha no final do arquivo com o Python. O arquivo pode ter uma linha vazia no final e, por vezes, não. Eu tentei o seguinte script para fazer isso.

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

newRow é uma variável que contém o novo texto que será adicionado. Ele funciona bem se a última linha do arquivo não é vazia. No entanto, isso não é correto na última linha do arquivo é um espaço vazio. Neste caso, o arquivo terá um espaço vazio entre a última linha e newRow.

aaaa
bbbb

newRow

Eu convidado a pergunta é como posso verificar se a última linha do arquivo é uma linha vazia. Achei que usando readlines() pode armazenar cada linha do arquivo de texto em uma lista e, em seguida, que eu possa verificar a última linha. Mas eu não sei como fazer isso, se eu usar 'abrir'. Então, no final, o resultado pretendido é como a seguir para qualquer arquivos de texto

aaaa
bbbb
newRow

Como posso atingir este resultado?

obrigado antecipadamente

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

Melhor resposta

0

Tente isso:

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

Obrigado..ele pode trabalhar no meu caso..
Fadri

Em outros idiomas

Esta página está em outros idiomas

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