Bonjour,
J'essaie de lire un fichier texte, d'y sélectionner une ligne par le tri de
la première donnée [0] et d'afficher les données [1] et [2], mais ça ne sort
pas !
Voici mon code et un bout du fichier texte. Pouvez-vous me dire ce qui
cloche ??? Merci
(le fichier txt est lisible, je le lis avec un autre bout de code qui
affiche tout, mais sans tri)
AlainL
__________________________________________________________________
numerojour=now.strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par
exemple.
1227,Jean,-,-
1228,Yannick et Innocents,-,-
1229,David,anniv de Paul,-
1230,Roger,-,-
1231,Sylvestre,-,-
______________________________________________________________
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
alainL
et si j'affiche la valeur de njour (a la sortie de la boucle) j'ai le jour précédent soit 1229 pour aujourd'hui 1230.... Ca va me gâcher le réveillon :-(((( alainL
et si j'affiche la valeur de njour (a la sortie de la boucle) j'ai le jour
précédent soit 1229 pour aujourd'hui 1230....
Ca va me gâcher le réveillon :-((((
alainL
et si j'affiche la valeur de njour (a la sortie de la boucle) j'ai le jour précédent soit 1229 pour aujourd'hui 1230.... Ca va me gâcher le réveillon :-(((( alainL
yves
Le Sun, 30 Dec 2007 17:41:26 +0100, alainL a écrit:
Bonjour,
Ca va me gâcher le réveillon :-((((
Meuhh non.
Voici quelques biscuit, avec le module csv:
******************** # -*- coding: Latin-1 -*- from datetime import datetime from csv import reader
numerojourÚtetime.now().strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par exemple.
essai = reader(open('fetes.txt','r'))
for row in essai: njour, fete, anniv, bof = row print njour, fete, anniv, bof
print '*****' essai = reader(open('fetes.txt','r')) for row in essai: njour, fete, anniv, bof = row if njour == numerojour: print row print njour, fete, anniv, bof
print '*****' essai = reader(open('fetes.txt','r')) while True: try: print essai.next() except StopIteration: print "On est arrivé au bout des données" break
********** testé avec fetes.txt:
Bonjour, J'essaie de lire un fichier texte, d'y sélectionner une ligne par le tri de la première donnée [0] et d'afficher les données [1] et [2], mais ça ne sort pas ! Voici mon code et un bout du fichier texte. Pouvez-vous me dire ce qui cloche ??? Merci (le fichier txt est lisible, je le lis avec un autre bout de code qui affiche tout, mais sans tri) AlainL __________________________________________________________________ numerojour=now.strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par exemple.
1227,Jean,-,- 1228,Yannick et Innocents,-,- 1229,David,anniv de Paul,- 1230,Roger,-,- 1231,Sylvestre,-,- ____________________________________________________________ -- Yves
Le Sun, 30 Dec 2007 17:41:26 +0100, alainL a écrit:
Bonjour,
Ca va me gâcher le réveillon :-((((
Meuhh non.
Voici quelques biscuit, avec le module csv:
********************
# -*- coding: Latin-1 -*-
from datetime import datetime
from csv import reader
numerojourÚtetime.now().strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par exemple.
essai = reader(open('fetes.txt','r'))
for row in essai:
njour, fete, anniv, bof = row
print njour, fete, anniv, bof
print '*****'
essai = reader(open('fetes.txt','r'))
for row in essai:
njour, fete, anniv, bof = row
if njour == numerojour:
print row
print njour, fete, anniv, bof
print '*****'
essai = reader(open('fetes.txt','r'))
while True:
try:
print essai.next()
except StopIteration:
print "On est arrivé au bout des données"
break
**********
testé avec fetes.txt:
Bonjour,
J'essaie de lire un fichier texte, d'y sélectionner une ligne par le tri de
la première donnée [0] et d'afficher les données [1] et [2], mais ça ne sort
pas !
Voici mon code et un bout du fichier texte. Pouvez-vous me dire ce qui
cloche ??? Merci
(le fichier txt est lisible, je le lis avec un autre bout de code qui
affiche tout, mais sans tri)
AlainL
__________________________________________________________________
numerojour=now.strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par
exemple.
Le Sun, 30 Dec 2007 17:41:26 +0100, alainL a écrit:
Bonjour,
Ca va me gâcher le réveillon :-((((
Meuhh non.
Voici quelques biscuit, avec le module csv:
******************** # -*- coding: Latin-1 -*- from datetime import datetime from csv import reader
numerojourÚtetime.now().strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par exemple.
essai = reader(open('fetes.txt','r'))
for row in essai: njour, fete, anniv, bof = row print njour, fete, anniv, bof
print '*****' essai = reader(open('fetes.txt','r')) for row in essai: njour, fete, anniv, bof = row if njour == numerojour: print row print njour, fete, anniv, bof
print '*****' essai = reader(open('fetes.txt','r')) while True: try: print essai.next() except StopIteration: print "On est arrivé au bout des données" break
********** testé avec fetes.txt:
Bonjour, J'essaie de lire un fichier texte, d'y sélectionner une ligne par le tri de la première donnée [0] et d'afficher les données [1] et [2], mais ça ne sort pas ! Voici mon code et un bout du fichier texte. Pouvez-vous me dire ce qui cloche ??? Merci (le fichier txt est lisible, je le lis avec un autre bout de code qui affiche tout, mais sans tri) AlainL __________________________________________________________________ numerojour=now.strftime("%m%d") # lui, il sort : 1230 pour aujourd'hui par exemple.
Vous pouvez écrire le même code de façon beaucoup plus "pythonique" : - pas de compteur intermédiaire pour lire les lignes et tester la fin de fichier - une boucle "for ligne in fichier" plutôt que des readline() - affectation de plusieurs variables à la fois (1ère et 3ème ligne)
========================= ====== fete,anniv = ' ',' ' for line in open('C:/Python25/fetes.txt'): njour,fete,anniv,autre = line.rstrip().split(',') if njour == numerojour: break ========================= ======
Pierre
On Dec 30, 5:22 pm, "alainL" <jarai...@club-internet.fr> wrote:
Vous pouvez écrire le même code de façon beaucoup plus "pythonique" :
- pas de compteur intermédiaire pour lire les lignes et tester la fin
de fichier
- une boucle "for ligne in fichier" plutôt que des readline()
- affectation de plusieurs variables à la fois (1ère et 3ème ligne)
========================= ======
fete,anniv = ' ',' '
for line in open('C:/Python25/fetes.txt'):
njour,fete,anniv,autre = line.rstrip().split(',')
if njour == numerojour:
break
========================= ======
Vous pouvez écrire le même code de façon beaucoup plus "pythonique" : - pas de compteur intermédiaire pour lire les lignes et tester la fin de fichier - une boucle "for ligne in fichier" plutôt que des readline() - affectation de plusieurs variables à la fois (1ère et 3ème ligne)
========================= ====== fete,anniv = ' ',' ' for line in open('C:/Python25/fetes.txt'): njour,fete,anniv,autre = line.rstrip().split(',') if njour == numerojour: break ========================= ======
Pierre
Salvatore
Vous pouvez écrire le même code de façon beaucoup plus "pythonique" : ou pythonesque ;-)
Toujours aussi astucieux :-) Bonnes fêtes Pierre
Salvatore
Vous pouvez écrire le même code de façon beaucoup plus "pythonique" :
ou pythonesque ;-)
Vous pouvez écrire le même code de façon beaucoup plus "pythonique" : ou pythonesque ;-)
Toujours aussi astucieux :-) Bonnes fêtes Pierre
Salvatore
Méta-MCI \(MVP\)
Bonjour !
Pourquoi ne pas débuter 2008 avec les regex ?
Exemple :
import re compilre=re.compile("^1229.*", re.IGNORECASE| re.MULTILINE) for lig in compilre.finditer(open("fetes.txt","r").read()): print lig.group().split(",")[1:3] break
à noter que la dernière ligne ("break") serait à supprimer, s'il devait y avoir plusieurs réponses.
@-salutations
Michel Claveau
Bonjour !
Pourquoi ne pas débuter 2008 avec les regex ?
Exemple :
import re
compilre=re.compile("^1229.*", re.IGNORECASE| re.MULTILINE)
for lig in compilre.finditer(open("fetes.txt","r").read()):
print lig.group().split(",")[1:3]
break
à noter que la dernière ligne ("break") serait à supprimer, s'il devait
y avoir plusieurs réponses.
import re compilre=re.compile("^1229.*", re.IGNORECASE| re.MULTILINE) for lig in compilre.finditer(open("fetes.txt","r").read()): print lig.group().split(",")[1:3] break
à noter que la dernière ligne ("break") serait à supprimer, s'il devait y avoir plusieurs réponses.