2012-05-02 4 views
1
file = open("datafile1.txt", "rU") 
for line in file: 
    line = line.strip() 
    print line 
    for element in line: 
     line = 2 

Voici ce que j'ai jusqu'à présent, et la sortie ressemble d'un simple fichier de données i créé:Imprimer toutes les lignes datafile sans si la condition

blind 
element 
baker 
enjoy 

Ce qui correspond à ce qui est entré dans la datafile1 que je veux lire. J'essaye de lire ce datafile1 et d'imprimer toutes les lignes, mais le premier sans condition if. Je pensais à trancher [2:] dans la boucle for, mais je n'arrive pas à comprendre comment imprimer l'élément, boulanger, et profiter "sans imprimer la première ligne qui est aveugle".

Pouvez-vous s'il vous plaît me donner quelques suggestions sur la façon de lire et d'imprimer seulement ces caractères sans utiliser si déclaration. Le seul moyen que je connaisse serait d'utiliser Try et de remplacer l'instruction if et de ne lire que les trois dernières lignes du fichier. Toutes les suggestions seraient grandement appréciées.

grâce

+0

Je n'ai pas de Nevermind remarqué que vous utilisez python2 –

+0

Est-ce devoir? – dawg

+0

nah c'est quelques concepts que j'essaie de comprendre que j'étais coincé. – user1370982

Répondre

2

objets de fichiers fonctionnent comme itérateurs, de sorte que vous pouvez les next() à consommer un élément (une ligne) avant itérer réellement sur eux.

file = open("datafile1.txt", "rU") 
next(file, None) 
for line in file: 
    line = line.strip() 
    print line 

Pour un petit fichier que vous pouvez lire aussi dans une liste, puis utilisez l'opérateur de la tranche:

with open("datafile1.txt", "rU") as f: 
    lines = f.readlines() # or lines = [l.strip() for l in f] 
for line in lines[1:]: 
    print line 
+0

Merci mal essayer ça! – user1370982

+0

Je ne suis pas vraiment familier avec le mot-clé "avec" ou le "suivant" en fait jamais les étudié. Peut expliquer ce qu'ils font un petit merci. – user1370982

+0

L'instruction ['with'] (http://docs.python.org/reference/compound_stmts.html#the-with-statement) garantit simplement que le fichier est fermé après avoir quitté le bloc. Cela vous évite d'écrire 'f.close()' quand vous avez terminé. ['next()'] (http://docs.python.org/library/functions.html#next) renvoie l'élément suivant à partir d'un itérateur - sur un fichier récemment ouvert, il s'agit de la première ligne. Le second argument 'None' est utilisé donc il ne déclenche jamais' StopIteration' s'il n'y a pas d'élément suivant (dans un fichier vide). – ThiefMaster

2

Vous utilisez froid somthing comme ceci:

with open("datafile1.txt") as file: 
    next(file) 
    for line in file: 
     #do something awesome 

Hope this helps !

Questions connexes