j'ai un script qui ouvre un fichier qui
lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides,
ainsi qu'une ligne vide en fin de fichier.
Qui me donne une erreur.
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
import string
print "Lecture de fichier"
fd = open('ssh.properties','r')
user = []
host = []
#On lit chaque ligne du fichier
for ligne in fd.readlines() :
if len(ligne) == 0 :
break
#On scinde la ligne en mot user et host
donnee = ligne.split()
#print donnee[0]
#print donnee[1]
#puis on ajoute les données dans les listes
user.append(string.capitalize(donnee[0]))
host.append(string.capitalize(donnee[1]))
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Amaury Forgeot d'Arc
Bonjour,
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
#!/usr/bin/env python #-*- coding: iso-8859-1 -*-
import string print "Lecture de fichier" fd = open('ssh.properties','r')
user = [] host = []
#On lit chaque ligne du fichier for ligne in fd.readlines() : if len(ligne) == 0 : break #On scinde la ligne en mot user et host donnee = ligne.split() #print donnee[0] #print donnee[1] #puis on ajoute les données dans les listes user.append(string.capitalize(donnee[0])) host.append(string.capitalize(donnee[1]))
#print 'user %s',user fd.close()
Merci pour vos éclairages
olivier
Ton tutoriel est un peu vieux : maintenant, readlines est inutile ! Et pas besoin de break.
Pour ta question: dans cette boucle, une ligne vide ne contient que le caractère n:
for ligne in fd: if ligne == 'n': continue ....
-- Amaury
Bonjour,
j'ai un script qui ouvre un fichier qui
lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides,
ainsi qu'une ligne vide en fin de fichier.
Qui me donne une erreur.
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
import string
print "Lecture de fichier"
fd = open('ssh.properties','r')
user = []
host = []
#On lit chaque ligne du fichier
for ligne in fd.readlines() :
if len(ligne) == 0 :
break
#On scinde la ligne en mot user et host
donnee = ligne.split()
#print donnee[0]
#print donnee[1]
#puis on ajoute les données dans les listes
user.append(string.capitalize(donnee[0]))
host.append(string.capitalize(donnee[1]))
#print 'user %s',user
fd.close()
Merci pour vos éclairages
olivier
Ton tutoriel est un peu vieux : maintenant, readlines est inutile ! Et
pas besoin de break.
Pour ta question: dans cette boucle, une ligne vide ne contient que le
caractère n:
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
#!/usr/bin/env python #-*- coding: iso-8859-1 -*-
import string print "Lecture de fichier" fd = open('ssh.properties','r')
user = [] host = []
#On lit chaque ligne du fichier for ligne in fd.readlines() : if len(ligne) == 0 : break #On scinde la ligne en mot user et host donnee = ligne.split() #print donnee[0] #print donnee[1] #puis on ajoute les données dans les listes user.append(string.capitalize(donnee[0])) host.append(string.capitalize(donnee[1]))
#print 'user %s',user fd.close()
Merci pour vos éclairages
olivier
Ton tutoriel est un peu vieux : maintenant, readlines est inutile ! Et pas besoin de break.
Pour ta question: dans cette boucle, une ligne vide ne contient que le caractère n:
for ligne in fd: if ligne == 'n': continue ....
-- Amaury
thiebaut
Bonjour,
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
#!/usr/bin/env python #-*- coding: iso-8859-1 -*-
import string print "Lecture de fichier" fd = open('ssh.properties','r')
user = [] host = []
#On lit chaque ligne du fichier for ligne in fd.readlines() : if len(ligne) == 0 : break #On scinde la ligne en mot user et host donnee = ligne.split() #print donnee[0] #print donnee[1] #puis on ajoute les données dans les listes user.append(string.capitalize(donnee[0])) host.append(string.capitalize(donnee[1]))
#print 'user %s',user fd.close()
Merci pour vos éclairages
olivier Rmq Il est issu d'un tutoriel officiel python, vous aurez reconnu ...
olivier
Bonjour,
j'ai un script qui ouvre un fichier qui
lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides,
ainsi qu'une ligne vide en fin de fichier.
Qui me donne une erreur.
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
import string
print "Lecture de fichier"
fd = open('ssh.properties','r')
user = []
host = []
#On lit chaque ligne du fichier
for ligne in fd.readlines() :
if len(ligne) == 0 :
break
#On scinde la ligne en mot user et host
donnee = ligne.split()
#print donnee[0]
#print donnee[1]
#puis on ajoute les données dans les listes
user.append(string.capitalize(donnee[0]))
host.append(string.capitalize(donnee[1]))
#print 'user %s',user
fd.close()
Merci pour vos éclairages
olivier
Rmq Il est issu d'un tutoriel officiel python, vous aurez reconnu ...
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
#!/usr/bin/env python #-*- coding: iso-8859-1 -*-
import string print "Lecture de fichier" fd = open('ssh.properties','r')
user = [] host = []
#On lit chaque ligne du fichier for ligne in fd.readlines() : if len(ligne) == 0 : break #On scinde la ligne en mot user et host donnee = ligne.split() #print donnee[0] #print donnee[1] #puis on ajoute les données dans les listes user.append(string.capitalize(donnee[0])) host.append(string.capitalize(donnee[1]))
#print 'user %s',user fd.close()
Merci pour vos éclairages
olivier Rmq Il est issu d'un tutoriel officiel python, vous aurez reconnu ...
olivier
thiebaut
Bonjour,
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
#!/usr/bin/env python #-*- coding: iso-8859-1 -*-
import string print "Lecture de fichier" fd = open('ssh.properties','r')
user = [] host = []
#On lit chaque ligne du fichier for ligne in fd.readlines() : if len(ligne) == 0 : break #On scinde la ligne en mot user et host donnee = ligne.split() #print donnee[0] #print donnee[1] #puis on ajoute les données dans les listes user.append(string.capitalize(donnee[0])) host.append(string.capitalize(donnee[1])) #print 'user %s',user fd.close()
Merci pour vos éclairages
olivier
Ton tutoriel est un peu vieux : maintenant, readlines est inutile ! Et pas besoin de break. Ok, et quels sont donc les bonnes méthodes ...
Pour ta question: dans cette boucle, une ligne vide ne contient que le caractère n:
for ligne in fd: if ligne == 'n': continue ....
Merci
olivier
Bonjour,
j'ai un script qui ouvre un fichier qui
lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides,
ainsi qu'une ligne vide en fin de fichier.
Qui me donne une erreur.
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
import string
print "Lecture de fichier"
fd = open('ssh.properties','r')
user = []
host = []
#On lit chaque ligne du fichier
for ligne in fd.readlines() :
if len(ligne) == 0 :
break
#On scinde la ligne en mot user et host
donnee = ligne.split()
#print donnee[0]
#print donnee[1]
#puis on ajoute les données dans les listes
user.append(string.capitalize(donnee[0]))
host.append(string.capitalize(donnee[1]))
#print 'user %s',user
fd.close()
Merci pour vos éclairages
olivier
Ton tutoriel est un peu vieux : maintenant, readlines est inutile ! Et
pas besoin de break.
Ok, et quels sont donc les bonnes méthodes ...
Pour ta question: dans cette boucle, une ligne vide ne contient que le
caractère n:
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
#!/usr/bin/env python #-*- coding: iso-8859-1 -*-
import string print "Lecture de fichier" fd = open('ssh.properties','r')
user = [] host = []
#On lit chaque ligne du fichier for ligne in fd.readlines() : if len(ligne) == 0 : break #On scinde la ligne en mot user et host donnee = ligne.split() #print donnee[0] #print donnee[1] #puis on ajoute les données dans les listes user.append(string.capitalize(donnee[0])) host.append(string.capitalize(donnee[1])) #print 'user %s',user fd.close()
Merci pour vos éclairages
olivier
Ton tutoriel est un peu vieux : maintenant, readlines est inutile ! Et pas besoin de break. Ok, et quels sont donc les bonnes méthodes ...
Pour ta question: dans cette boucle, une ligne vide ne contient que le caractère n:
for ligne in fd: if ligne == 'n': continue ....
Merci
olivier
R12y
Amaury Forgeot d'Arc :
maintenant, readlines est inutile
Tu m'interesses. Quels sont les nouvelles méthodes?
Tu m'interesses. Quels sont les nouvelles méthodes?
Dire que readlines est inutile est peut-être un peu exagéré. C'est xreadlines qui est déprécié, par contre.
Après, tout dépend de ce qu'on veut faire...
readlines permet de lire d'un seul coup un fichier en mémoire (en laissant le n à la fin de chaque ligne). On peut concevoir que ça peut être pratique dans certains cas.
Après, si on veut lire ligne par ligne, le plus simple consiste à itérer sur l'objet fichier lui-même :
fichier = open('monfic.txt') for ligne in fichier: traiter(ligne)
Tu m'interesses. Quels sont les nouvelles méthodes?
Dire que readlines est inutile est peut-être un peu exagéré. C'est
xreadlines qui est déprécié, par contre.
Après, tout dépend de ce qu'on veut faire...
readlines permet de lire d'un seul coup un fichier en mémoire (en
laissant le n à la fin de chaque ligne). On peut concevoir que ça
peut être pratique dans certains cas.
Après, si on veut lire ligne par ligne, le plus simple consiste à
itérer sur l'objet fichier lui-même :
fichier = open('monfic.txt')
for ligne in fichier:
traiter(ligne)
Tu m'interesses. Quels sont les nouvelles méthodes?
Dire que readlines est inutile est peut-être un peu exagéré. C'est xreadlines qui est déprécié, par contre.
Après, tout dépend de ce qu'on veut faire...
readlines permet de lire d'un seul coup un fichier en mémoire (en laissant le n à la fin de chaque ligne). On peut concevoir que ça peut être pratique dans certains cas.
Après, si on veut lire ligne par ligne, le plus simple consiste à itérer sur l'objet fichier lui-même :
fichier = open('monfic.txt') for ligne in fichier: traiter(ligne)
-- Eric Jacoboni, ne il y a 1441329131 secondes
Eric Deveaud
thiebaut wrote:
Bonjour,
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
en lisant la doc de readline, readlines etc il est dit qu'une ligne correspond a quelquechose coincee entre 2 'n'
il est meme precise que "Retain newline"
donc ce que tu nomme ligne vide est une ligne qui ne contient pas d'autre caracteres que ce fameux 'n'
donc la seule possiblite d'avoir une chaine vide au cours de la lecture est d'arriver a la fin du fichier. c'est d'ailleur precise par la doc
Eric -- Mettre d'un coté ceux qui nous pompent l'air, de l'autre ceux qui brassent du vent. Nous obtiendrons un Usenet climatisé, c'est ça le génie français. Ca risque même d'être un peu trop ventilé. -+- MP in <http://neuneu.mine.nu> : Clim et châtiment -+-
thiebaut wrote:
Bonjour,
j'ai un script qui ouvre un fichier qui
lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides,
ainsi qu'une ligne vide en fin de fichier.
Qui me donne une erreur.
en lisant la doc de readline, readlines etc il est dit qu'une ligne correspond
a quelquechose coincee entre 2 'n'
il est meme precise que "Retain newline"
donc ce que tu nomme ligne vide est une ligne qui ne contient pas d'autre
caracteres que ce fameux 'n'
donc la seule possiblite d'avoir une chaine vide au cours de la lecture
est d'arriver a la fin du fichier. c'est d'ailleur precise par la doc
Eric
--
Mettre d'un coté ceux qui nous pompent l'air, de l'autre ceux qui
brassent du vent. Nous obtiendrons un Usenet climatisé, c'est ça le
génie français. Ca risque même d'être un peu trop ventilé.
-+- MP in <http://neuneu.mine.nu> : Clim et châtiment -+-
j'ai un script qui ouvre un fichier qui lit chaque ligne et extrait chaque donnée.
Comment tester les ligne vides, ainsi qu'une ligne vide en fin de fichier. Qui me donne une erreur.
en lisant la doc de readline, readlines etc il est dit qu'une ligne correspond a quelquechose coincee entre 2 'n'
il est meme precise que "Retain newline"
donc ce que tu nomme ligne vide est une ligne qui ne contient pas d'autre caracteres que ce fameux 'n'
donc la seule possiblite d'avoir une chaine vide au cours de la lecture est d'arriver a la fin du fichier. c'est d'ailleur precise par la doc
Eric -- Mettre d'un coté ceux qui nous pompent l'air, de l'autre ceux qui brassent du vent. Nous obtiendrons un Usenet climatisé, c'est ça le génie français. Ca risque même d'être un peu trop ventilé. -+- MP in <http://neuneu.mine.nu> : Clim et châtiment -+-
Eric Deveaud
R12y wrote:
Amaury Forgeot d'Arc :
maintenant, readlines est inutile
en plus d'etre inutile, ou plus exactement pas dnas la python way, readlines peut etre source de problemes.
bien penser a deux fois aux type de fichier qu'on va traiter en utilisant readlines, et se souvenir qu'on le charge d'un bloc en memoire, preferer xreadlines qui est maintenant "deprecated"
Tu m'interesses. Quels sont les nouvelles méthodes?
les fh embarquent un iterateur.
fh = open(file, mode) for line in fh: # du boulot
Eric qui prie pour la dispartion de readlines -- Mettre d'un coté ceux qui nous pompent l'air, de l'autre ceux qui brassent du vent. Nous obtiendrons un Usenet climatisé, c'est ça le génie français. Ca risque même d'être un peu trop ventilé. -+- MP in <http://neuneu.mine.nu> : Clim et châtiment -+-
R12y wrote:
Amaury Forgeot d'Arc :
maintenant, readlines est inutile
en plus d'etre inutile, ou plus exactement pas dnas la python way, readlines
peut etre source de problemes.
bien penser a deux fois aux type de fichier qu'on va traiter en utilisant
readlines, et se souvenir qu'on le charge d'un bloc en memoire, preferer
xreadlines qui est maintenant "deprecated"
Tu m'interesses. Quels sont les nouvelles méthodes?
les fh embarquent un iterateur.
fh = open(file, mode)
for line in fh:
# du boulot
Eric qui prie pour la dispartion de readlines
--
Mettre d'un coté ceux qui nous pompent l'air, de l'autre ceux qui
brassent du vent. Nous obtiendrons un Usenet climatisé, c'est ça le
génie français. Ca risque même d'être un peu trop ventilé.
-+- MP in <http://neuneu.mine.nu> : Clim et châtiment -+-
en plus d'etre inutile, ou plus exactement pas dnas la python way, readlines peut etre source de problemes.
bien penser a deux fois aux type de fichier qu'on va traiter en utilisant readlines, et se souvenir qu'on le charge d'un bloc en memoire, preferer xreadlines qui est maintenant "deprecated"
Tu m'interesses. Quels sont les nouvelles méthodes?
les fh embarquent un iterateur.
fh = open(file, mode) for line in fh: # du boulot
Eric qui prie pour la dispartion de readlines -- Mettre d'un coté ceux qui nous pompent l'air, de l'autre ceux qui brassent du vent. Nous obtiendrons un Usenet climatisé, c'est ça le génie français. Ca risque même d'être un peu trop ventilé. -+- MP in <http://neuneu.mine.nu> : Clim et châtiment -+-