0
votes

Comment faire boucle par des lignes consécutives à Python?

J'ai un fichier texte qui, pour des raisons de simplicité, contient: xxx pré>

Comment puis-je créer un script qui définirait une variable, un animal dans ce cas, à la première ligne Dans le fichier texte, imprimez l'animal, mais puis tout faire à nouveau, mais faites de l'animal à la ligne suivante (dans ce cas, chien). P>

Voici ce que j'ai essayé jusqu'à présent: P>

while True:
    with open('./text.txt','r') as f:
        for i in enumerate('./text.txt'):
            if i in lines:
                print(lines)


4 commentaires

Voulez-vous dire ligne ou mot suivant?


Bien que je ne comprends pas ce que vous voulez faire, mais je suis sûr que vous devriez changer votre boucle à: pour index, ligne en énumérant (f): si la ligne dans les lignes : impression (ligne)


Votre code ne correspond pas à ce que vous essayez de faire du tout. Qu'est-ce que vous essayez de faire - il suffit d'imprimer chaque ligne du fichier une à la fois?


pour la ligne en f: ira déterrera à travers les lignes d'un fichier. NOTE Il y aura une nouvelle ligne à la fin de chacune d'elles, vous voudrez donc probablement avoir un ligne = ligne.rstrip () avant de le comparer.


3 Réponses :


0
votes

Utilisez des readlines pour stocker chaque ligne dans une liste.

with open('file.txt','r') as f:
    animals = f.readlines()

for animal in animals:
    print(animal.strip())


0 commentaires

0
votes

Vous pouvez essayer ce qui suit:

with open('./text.txt') as f:
    for animal in f.readlines():
        print(animal.strip())


2 commentaires

readline () retournera uniquement la première ligne et animal itération sur les caractères dans 'cat \ n' .


L'édition corrige le problème, mais la réponse est identique à la réponse antérieure de @ Sarthak, avec la variable intermédiaire retirée (que j'ai supposée que je n'étais que là pour le rendre explicite que tout le contenu est chargé à la fois.



0
votes

Si vous souhaitez lire le fichier une ligne à la fois (qui peut être nécessaire pour les fichiers volumineux):

with open('./text.txt','r') as f:
    line = True
    # this will stop when there is nothing left to read, as line will be ''
    # note that an 'empty' line will still have a line ending, i.e. '\n'
    while line:
        line = f.readline()
        print(line)


1 commentaires

Juste ce que je cherchais, et oui, c'est un gros fichier. Mille mercis!!