Ajouter nouvelle chaîne de caractères dans un fichier texte avec certaine condition Python

0

La question

J'ai essayé de mettre à jour certains fichier texte avec la nouvelle chaîne dans une nouvelle ligne à la fin du fichier avec Python. Le fichier lui-même peut avoir de ligne vide à la fin et parfois pas. J'ai essayé le script suivant pour ce faire.

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

newRow est une variable contenant un nouveau texte qui sera ajouté. Il fonctionne très bien si la dernière ligne du fichier n'est pas vide. Cependant, ce n'est pas correct dans la dernière ligne du fichier est un espace vide. Dans ce cas, le fichier aura un espace vide entre la dernière ligne et newRow.

aaaa
bbbb

newRow

J'ai invité la question est de savoir comment puis-je vérifier si la dernière ligne du fichier est vide de ligne. J'ai trouvé que l'utilisation de readlines() peut stocker chaque ligne du fichier texte dans une liste, alors je peux vérifier la dernière ligne. Mais je ne sais pas comment faire si je l'ai utiliser 'ouvert'. Ainsi, à la fin, le résultat recherché est comme suivre pour tous les fichiers texte

aaaa
bbbb
newRow

Comment puis-je parvenir à ce résultat?

je vous remercie à l'avance

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

La meilleure réponse

0

Essayez ceci:

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

Merci..il peut fonctionner dans mon cas..
Fadri

Dans d'autres langues

Cette page est dans d'autres langues

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