Je cherche la meilleur méthode pour supprimer des lignes dans un texte
Voici mon code (python/GTK) pour l'affichage dans une fenetre GTK
info = pexpect.spawn('gpg --decrypt gpg-password.asc', timeout=3) info.expect_exact(['password:', 'Password:', 'passe:']) info.sendline('%s' % (passe)) text = info.read() text = unicode(text, 'ISO-8859-1', 'ignore').encode('UTF-8') buffer = self.textview1.get_buffer() buffer.set_text(text)
ça fonctionne, mais malheuresement gpg ajoute la ligne suivante en début de texte (normal).
gpg: chiffré avec une clé de 2048 bits ELG-E, ID 6D26EDF9, créée le 2006-02-13 « test » -----BEGIN PGP MESSAGE-----
Comment la supprimer proprement
introduire une fonction de nettoyage de texte apres l'acquisition de text
du genre en admettant que l'on veuille supprimer TOUT ce qui precede '-----BEGIN PGP MESSAGE-----'
fonction de filtrage: IN texte = chaine de caractere a filtrer marqueur OUT chaine de caracterre filtrée
algo: pos = trouver la position de marqueur dans text si pos != -1 (ie le marquer a ete trouve) text <- text de pos + longueur su marqueur a la fin sinon text <- text sans modifications
renvoyer text
idee brute de fonderie apres une journee bien claquante ;-) je te laisse l'implementation
Eric
-- Je sais pas. Mais un très vieux proverbe macintoshien dit : Quand BowelsOfTheMemoryMgr dans Macsbug apparoit, redémarer tu dois. -+- AG in Guide du Macounet Pervers : ...à la mode, à la modeuu... -+-
stealth@altern.org wrote:
Bonjour à tous,
Je cherche la meilleur méthode pour supprimer des lignes dans un texte
Voici mon code (python/GTK) pour l'affichage dans une fenetre GTK
info = pexpect.spawn('gpg --decrypt gpg-password.asc', timeout=3)
info.expect_exact(['password:', 'Password:', 'passe:'])
info.sendline('%s' % (passe))
text = info.read()
text = unicode(text, 'ISO-8859-1', 'ignore').encode('UTF-8')
buffer = self.textview1.get_buffer()
buffer.set_text(text)
ça fonctionne, mais malheuresement gpg ajoute la ligne suivante en
début de texte (normal).
gpg: chiffré avec une clé de 2048 bits ELG-E, ID 6D26EDF9, créée le
2006-02-13
« test <toto@toto.com> »
-----BEGIN PGP MESSAGE-----
Comment la supprimer proprement
introduire une fonction de nettoyage de texte apres l'acquisition de text
du genre en admettant que l'on veuille supprimer TOUT ce qui precede
'-----BEGIN PGP MESSAGE-----'
fonction de filtrage:
IN texte = chaine de caractere a filtrer
marqueur
OUT chaine de caracterre filtrée
algo:
pos = trouver la position de marqueur dans text
si pos != -1 (ie le marquer a ete trouve)
text <- text de pos + longueur su marqueur a la fin
sinon
text <- text sans modifications
renvoyer text
idee brute de fonderie apres une journee bien claquante ;-)
je te laisse l'implementation
Eric
--
Je sais pas. Mais un très vieux proverbe macintoshien dit :
Quand BowelsOfTheMemoryMgr dans Macsbug apparoit, redémarer tu dois.
-+- AG in Guide du Macounet Pervers : ...à la mode, à la modeuu... -+-
Je cherche la meilleur méthode pour supprimer des lignes dans un texte
Voici mon code (python/GTK) pour l'affichage dans une fenetre GTK
info = pexpect.spawn('gpg --decrypt gpg-password.asc', timeout=3) info.expect_exact(['password:', 'Password:', 'passe:']) info.sendline('%s' % (passe)) text = info.read() text = unicode(text, 'ISO-8859-1', 'ignore').encode('UTF-8') buffer = self.textview1.get_buffer() buffer.set_text(text)
ça fonctionne, mais malheuresement gpg ajoute la ligne suivante en début de texte (normal).
gpg: chiffré avec une clé de 2048 bits ELG-E, ID 6D26EDF9, créée le 2006-02-13 « test » -----BEGIN PGP MESSAGE-----
Comment la supprimer proprement
introduire une fonction de nettoyage de texte apres l'acquisition de text
du genre en admettant que l'on veuille supprimer TOUT ce qui precede '-----BEGIN PGP MESSAGE-----'
fonction de filtrage: IN texte = chaine de caractere a filtrer marqueur OUT chaine de caracterre filtrée
algo: pos = trouver la position de marqueur dans text si pos != -1 (ie le marquer a ete trouve) text <- text de pos + longueur su marqueur a la fin sinon text <- text sans modifications
renvoyer text
idee brute de fonderie apres une journee bien claquante ;-) je te laisse l'implementation
Eric
-- Je sais pas. Mais un très vieux proverbe macintoshien dit : Quand BowelsOfTheMemoryMgr dans Macsbug apparoit, redémarer tu dois. -+- AG in Guide du Macounet Pervers : ...à la mode, à la modeuu... -+-
Eric Deveaud
Bruno Desthuilliers wrote:
tttt j'avais dit qu'on laissait l'implementation a l'OP ;-)) alors je vais faire mon chiant ;-)))
pourquoi strip et pas lstrip ? avec strip tu vas perdre les derniers espaces et n si il y en a ;-)
Eric
-- Tu me commences à me les briser menu. Tu emmerdes le monde en postant à tort et à travers, pauvre con. Cela est contraire à tous les usages Usenet et de savoir vivre en général. -+- EJ in Guide du modérateur pervers - et la politesse bordel ? -+-
Bruno Desthuilliers wrote:
tttt j'avais dit qu'on laissait l'implementation a l'OP ;-))
alors je vais faire mon chiant ;-)))
pourquoi strip et pas lstrip ?
avec strip tu vas perdre les derniers espaces et n si il y en a ;-)
Eric
--
Tu me commences à me les briser menu. Tu emmerdes le monde en postant à
tort et à travers, pauvre con. Cela est contraire à tous les usages
Usenet et de savoir vivre en général.
-+- EJ in Guide du modérateur pervers - et la politesse bordel ? -+-
pourquoi strip et pas lstrip ? avec strip tu vas perdre les derniers espaces et n si il y en a ;-)
Eric
-- Tu me commences à me les briser menu. Tu emmerdes le monde en postant à tort et à travers, pauvre con. Cela est contraire à tous les usages Usenet et de savoir vivre en général. -+- EJ in Guide du modérateur pervers - et la politesse bordel ? -+-
Bruno Desthuilliers
wrote:
Bonjour à tous,
Je cherche la meilleur méthode pour supprimer des lignes dans un texte
(snip)
ça fonctionne, mais malheuresement gpg ajoute la ligne suivante en début de texte (normal).
gpg: chiffré avec une clé de 2048 bits ELG-E, ID 6D26EDF9, créée le 2006-02-13 « test » -----BEGIN PGP MESSAGE-----
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes
precises.
La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser
strip
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
bruno at modulix
wrote:
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
En supposant que ton texte est d'un seul block: lines = text.split('n') l.pop(indice_de_la_ligne) text = "n".join(lines)
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
stealth@altern.org wrote:
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes
precises.
La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser
strip
En supposant que ton texte est d'un seul block:
lines = text.split('n')
l.pop(indice_de_la_ligne)
text = "n".join(lines)
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
En supposant que ton texte est d'un seul block: lines = text.split('n') l.pop(indice_de_la_ligne) text = "n".join(lines)
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
stealth
le l c'est lines ? dans ce cas quand je test je supprime bien la ligne mais j'ajoute un espace dans le texte
le l c'est lines ? dans ce cas quand je test je supprime bien la ligne
mais j'ajoute un espace dans le texte
Il doit y avaoir autre chose dans ton texte, ou un pb de convention de fin de ligne...
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Eric Deveaud
wrote:
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
plusieurs options.
1) si tu acquiers le texte ligne par ligne via une boucle de lecture par exemple
tu poses un compteur avant de lire. pour chaque ligne lue, tu regarde si ton compteur est un des numeros de lignes que tu veux supprimer. si oui tu ne fais rien de la ligne sinon tu stocke ta ligne dans tous les cas tu incremente ton compteur de 1 et tu lis la ligne suivante
ex basique: fonction skiplines_by_number: IN: fh (filehandle den lecture) numeros des lignes a ignorer OUT: le texte lu sur le fh SANS les lignes dont le numero est dans la liste des numeros a ignorer texte_filtre <- chaine vide compteur <- 1 (en general les humains compte a partir de 1) pour chaque ligne L lue a partir du fh: si valeur de compteur appartient a la liste des numeros a ignorer: ne rien faire sinon: texte_filtre <- texte_filtre + L compteur <- compteur +1 renvoyer texte_filtre
de qui donnerai quelque chose du genre
def skiplines_by_number(FH, *exclude_list_line_num): texte_filtre = '' cpt = 1 for line in FH: if cpt in exclude_list_line_num: continue else: texte_filtre += line cpt +=1 return texte_filtre
NB la forme if test: ne rien faire else: faire quelque chose
n'etant pas belle on fera plutot
def skiplines_by_number(FH, *exclude_list_line_num): texte_filtre = '' cpt = 1 for line in FH: if not cpt in exclude_list_line_num: texte_filtre += line cpt +=1 return texte_filtre
2) ton texte est acquis et tu veux eliminer cetaines lignes decouper le texte en une liste de lignes les lignes a eliminer sont les elemnts de la liste dont l'index correspond au numero
Fonction removelines_by_number IN: chaine de caractere represantant le texte liste des numeros de lignes a exclure OUT: le texte filttre
liste_lignes <- spliter le texte selon les saut de lignes pour chaque valeur de la liste des numeros de ligne a exclure: enlever dans la liste l'elements dont l'index est dans la liste texte_filtre <- joindre la liste des lignes restantes selon les saut de lignes
NB l'idee pour eliminer les lignes a exclure serait d'utiliser pop, mais attention en faisant ceci on cours au devant d'un probleme pop eliminant un element de la liste, modifie la longueur de la liste, donc modifie la valeur des indices des elements dans la liste. exemple
L = [A,B,C,D,E,F]
si l'on veut eliminer les elements en position 2 et 4 (soit C et E) de la liste l'idee qui vient en premier lieux a l'esprit serait de faire
L.pop(2) L.pop(4)
en detaillant les etapes on a ceci
0 1 2 3 4 5 <- indices +---+---+---+---+---+---+ L --> | A | B | C | D | E | F | +---+---+---+---+---+---+
L.pop(2) donnera ceci en supprimant l'element en indice 2 (le C)
0 1 2 3 4 <- indices +---+---+---+---+---+ L --> | A | B | D | E | F | +---+---+---+---+---+
on a modifier la longueur de la liste, aie aie que donnera l'elimination de la valeur en indice 4 (on voulait supprimer le E, et on supprime le F) pas ce qu'on voulait aie aie. de plus on risque de se retrouver avec une valeur qui devient invalide pour la taille de la liste et d'avoir une belle IndexError
pour tourner autour de ce pb, il suffit de commencer a enlever les elements dans l'ordre decroissant des indices
je propose ceci
def removelines_by_number(text, *exclude_line_num): vals = list(exclude_line_num) vals.sort() vals.reverse() # oui il suffirait de trier correctement liste_lignes = text.split('n') for index in vals: liste_lignes.pop(index) return 'n'.join(liste_lignes)
ex:
montext = """ligne zero ... ligne un
... ligne deux ... ligne trois ... ligne quatre ... ligne cinq"""
print removelines_by_number(montext, 1, 3, 5) ligne zero
ligne deux ligne quatre
Eric
PS il y a encore plein d'autres facon defaire.....
-- un tentative de penetration (pas de sous entendus) d'un systeme peut etr compare a un viol. Le portscan reviendrait a promener ses doigts pour voir s'il y a une ceinture de chastete ... -+- M in GNU - Petit traité de sexualité informatique appliquée -+-
stealth@altern.org wrote:
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes
precises.
La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser
strip
plusieurs options.
1) si tu acquiers le texte ligne par ligne via une boucle de lecture par
exemple
tu poses un compteur avant de lire.
pour chaque ligne lue, tu regarde si ton compteur est un des numeros de lignes
que tu veux supprimer.
si oui tu ne fais rien de la ligne
sinon tu stocke ta ligne
dans tous les cas tu incremente ton compteur de 1 et tu lis la ligne suivante
ex basique:
fonction skiplines_by_number:
IN: fh (filehandle den lecture)
numeros des lignes a ignorer
OUT: le texte lu sur le fh SANS les lignes dont le numero est dans
la liste des numeros a ignorer
texte_filtre <- chaine vide
compteur <- 1 (en general les humains compte a partir de 1)
pour chaque ligne L lue a partir du fh:
si valeur de compteur appartient a la liste des numeros a ignorer:
ne rien faire
sinon:
texte_filtre <- texte_filtre + L
compteur <- compteur +1
renvoyer texte_filtre
de qui donnerai quelque chose du genre
def skiplines_by_number(FH, *exclude_list_line_num):
texte_filtre = ''
cpt = 1
for line in FH:
if cpt in exclude_list_line_num:
continue
else:
texte_filtre += line
cpt +=1
return texte_filtre
NB la forme
if test:
ne rien faire
else:
faire quelque chose
n'etant pas belle on fera plutot
def skiplines_by_number(FH, *exclude_list_line_num):
texte_filtre = ''
cpt = 1
for line in FH:
if not cpt in exclude_list_line_num:
texte_filtre += line
cpt +=1
return texte_filtre
2) ton texte est acquis et tu veux eliminer cetaines lignes
decouper le texte en une liste de lignes
les lignes a eliminer sont les elemnts de la liste dont l'index correspond au
numero
Fonction removelines_by_number
IN: chaine de caractere represantant le texte
liste des numeros de lignes a exclure
OUT: le texte filttre
liste_lignes <- spliter le texte selon les saut de lignes
pour chaque valeur de la liste des numeros de ligne a exclure:
enlever dans la liste l'elements dont l'index est dans la liste
texte_filtre <- joindre la liste des lignes restantes selon les saut de
lignes
NB l'idee pour eliminer les lignes a exclure serait d'utiliser pop, mais
attention en faisant ceci on cours au devant d'un probleme
pop eliminant un element de la liste, modifie la longueur de la liste, donc
modifie la valeur des indices des elements dans la liste.
exemple
L = [A,B,C,D,E,F]
si l'on veut eliminer les elements en position 2 et 4 (soit C et E) de la
liste l'idee qui vient en premier lieux a l'esprit serait de faire
L.pop(2)
L.pop(4)
en detaillant les etapes on a ceci
0 1 2 3 4 5 <- indices
+---+---+---+---+---+---+
L --> | A | B | C | D | E | F |
+---+---+---+---+---+---+
L.pop(2) donnera ceci en supprimant l'element en indice 2 (le C)
0 1 2 3 4 <- indices
+---+---+---+---+---+
L --> | A | B | D | E | F |
+---+---+---+---+---+
on a modifier la longueur de la liste, aie aie que donnera l'elimination de la
valeur en indice 4 (on voulait supprimer le E, et on supprime le F) pas ce
qu'on voulait aie aie.
de plus on risque de se retrouver avec une valeur qui devient invalide pour la
taille de la liste et d'avoir une belle IndexError
pour tourner autour de ce pb, il suffit de commencer a enlever les elements
dans l'ordre decroissant des indices
je propose ceci
def removelines_by_number(text, *exclude_line_num):
vals = list(exclude_line_num)
vals.sort()
vals.reverse() # oui il suffirait de trier correctement
liste_lignes = text.split('n')
for index in vals:
liste_lignes.pop(index)
return 'n'.join(liste_lignes)
ex:
montext = """ligne zero
... ligne un
... ligne deux
... ligne trois
... ligne quatre
... ligne cinq"""
print removelines_by_number(montext, 1, 3, 5)
ligne zero
ligne deux
ligne quatre
Eric
PS il y a encore plein d'autres facon defaire.....
--
un tentative de penetration (pas de sous entendus) d'un systeme peut
etr compare a un viol. Le portscan reviendrait a promener ses doigts
pour voir s'il y a une ceinture de chastete ...
-+- M in GNU - Petit traité de sexualité informatique appliquée -+-
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
plusieurs options.
1) si tu acquiers le texte ligne par ligne via une boucle de lecture par exemple
tu poses un compteur avant de lire. pour chaque ligne lue, tu regarde si ton compteur est un des numeros de lignes que tu veux supprimer. si oui tu ne fais rien de la ligne sinon tu stocke ta ligne dans tous les cas tu incremente ton compteur de 1 et tu lis la ligne suivante
ex basique: fonction skiplines_by_number: IN: fh (filehandle den lecture) numeros des lignes a ignorer OUT: le texte lu sur le fh SANS les lignes dont le numero est dans la liste des numeros a ignorer texte_filtre <- chaine vide compteur <- 1 (en general les humains compte a partir de 1) pour chaque ligne L lue a partir du fh: si valeur de compteur appartient a la liste des numeros a ignorer: ne rien faire sinon: texte_filtre <- texte_filtre + L compteur <- compteur +1 renvoyer texte_filtre
de qui donnerai quelque chose du genre
def skiplines_by_number(FH, *exclude_list_line_num): texte_filtre = '' cpt = 1 for line in FH: if cpt in exclude_list_line_num: continue else: texte_filtre += line cpt +=1 return texte_filtre
NB la forme if test: ne rien faire else: faire quelque chose
n'etant pas belle on fera plutot
def skiplines_by_number(FH, *exclude_list_line_num): texte_filtre = '' cpt = 1 for line in FH: if not cpt in exclude_list_line_num: texte_filtre += line cpt +=1 return texte_filtre
2) ton texte est acquis et tu veux eliminer cetaines lignes decouper le texte en une liste de lignes les lignes a eliminer sont les elemnts de la liste dont l'index correspond au numero
Fonction removelines_by_number IN: chaine de caractere represantant le texte liste des numeros de lignes a exclure OUT: le texte filttre
liste_lignes <- spliter le texte selon les saut de lignes pour chaque valeur de la liste des numeros de ligne a exclure: enlever dans la liste l'elements dont l'index est dans la liste texte_filtre <- joindre la liste des lignes restantes selon les saut de lignes
NB l'idee pour eliminer les lignes a exclure serait d'utiliser pop, mais attention en faisant ceci on cours au devant d'un probleme pop eliminant un element de la liste, modifie la longueur de la liste, donc modifie la valeur des indices des elements dans la liste. exemple
L = [A,B,C,D,E,F]
si l'on veut eliminer les elements en position 2 et 4 (soit C et E) de la liste l'idee qui vient en premier lieux a l'esprit serait de faire
L.pop(2) L.pop(4)
en detaillant les etapes on a ceci
0 1 2 3 4 5 <- indices +---+---+---+---+---+---+ L --> | A | B | C | D | E | F | +---+---+---+---+---+---+
L.pop(2) donnera ceci en supprimant l'element en indice 2 (le C)
0 1 2 3 4 <- indices +---+---+---+---+---+ L --> | A | B | D | E | F | +---+---+---+---+---+
on a modifier la longueur de la liste, aie aie que donnera l'elimination de la valeur en indice 4 (on voulait supprimer le E, et on supprime le F) pas ce qu'on voulait aie aie. de plus on risque de se retrouver avec une valeur qui devient invalide pour la taille de la liste et d'avoir une belle IndexError
pour tourner autour de ce pb, il suffit de commencer a enlever les elements dans l'ordre decroissant des indices
je propose ceci
def removelines_by_number(text, *exclude_line_num): vals = list(exclude_line_num) vals.sort() vals.reverse() # oui il suffirait de trier correctement liste_lignes = text.split('n') for index in vals: liste_lignes.pop(index) return 'n'.join(liste_lignes)
ex:
montext = """ligne zero ... ligne un
... ligne deux ... ligne trois ... ligne quatre ... ligne cinq"""
print removelines_by_number(montext, 1, 3, 5) ligne zero
ligne deux ligne quatre
Eric
PS il y a encore plein d'autres facon defaire.....
-- un tentative de penetration (pas de sous entendus) d'un systeme peut etr compare a un viol. Le portscan reviendrait a promener ses doigts pour voir s'il y a une ceinture de chastete ... -+- M in GNU - Petit traité de sexualité informatique appliquée -+-
bruno at modulix
Eric Deveaud wrote:
wrote:
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
plusieurs options.
1) si tu acquiers le texte ligne par ligne via une boucle de lecture par exemple
(snip)
ex basique: fonction skiplines_by_number: IN: fh (filehandle den lecture) numeros des lignes a ignorer OUT: le texte lu sur le fh SANS les lignes dont le numero est dans la liste des numeros a ignorer texte_filtre <- chaine vide compteur <- 1 (en general les humains compte a partir de 1)
En général, les informaticiens comptent à partir de 0.
pour chaque ligne L lue a partir du fh: si valeur de compteur appartient a la liste des numeros a ignorer: ne rien faire sinon: texte_filtre <- texte_filtre + L compteur <- compteur +1 renvoyer texte_filtre
Note que l'intérêt de réutiliser la même fonction est que si on optimise cette fonction, tout le monde en profite...
(snip)
PS il y a encore plein d'autres facon defaire.....
N'est-ce pas ?-)
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Eric Deveaud wrote:
stealth@altern.org wrote:
Bonjour et merci de vos réponses
Pour ma culture, comment faire si je souhaite supprimer des lignes
precises.
La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser
strip
plusieurs options.
1) si tu acquiers le texte ligne par ligne via une boucle de lecture par
exemple
(snip)
ex basique:
fonction skiplines_by_number:
IN: fh (filehandle den lecture)
numeros des lignes a ignorer
OUT: le texte lu sur le fh SANS les lignes dont le numero est dans
la liste des numeros a ignorer
texte_filtre <- chaine vide
compteur <- 1 (en general les humains compte a partir de 1)
En général, les informaticiens comptent à partir de 0.
pour chaque ligne L lue a partir du fh:
si valeur de compteur appartient a la liste des numeros a ignorer:
ne rien faire
sinon:
texte_filtre <- texte_filtre + L
compteur <- compteur +1
renvoyer texte_filtre
Pour ma culture, comment faire si je souhaite supprimer des lignes precises. La premiere ou la troisieme par ex, dans ce cas je ne peux pas utiliser strip
plusieurs options.
1) si tu acquiers le texte ligne par ligne via une boucle de lecture par exemple
(snip)
ex basique: fonction skiplines_by_number: IN: fh (filehandle den lecture) numeros des lignes a ignorer OUT: le texte lu sur le fh SANS les lignes dont le numero est dans la liste des numeros a ignorer texte_filtre <- chaine vide compteur <- 1 (en general les humains compte a partir de 1)
En général, les informaticiens comptent à partir de 0.
pour chaque ligne L lue a partir du fh: si valeur de compteur appartient a la liste des numeros a ignorer: ne rien faire sinon: texte_filtre <- texte_filtre + L compteur <- compteur +1 renvoyer texte_filtre
Note que l'intérêt de réutiliser la même fonction est que si on optimise cette fonction, tout le monde en profite...
(snip)
PS il y a encore plein d'autres facon defaire.....
N'est-ce pas ?-)
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Méta-MCI
[HS]
En général, les informaticiens comptent à partir de 0.
En fait, ce sont les ricains qui comptent en démarrant à 0 ; et pas seulement pour l'informatique.
Mais, ils ont quasi imposé plusieurs de leurs manies, comme la taille des matériels en pouces, le point d'origine des écrans texte en bas à gauche, etc.
@+
MCI
[HS]
En général, les informaticiens comptent à partir de 0.
En fait, ce sont les ricains qui comptent en démarrant à 0 ; et pas
seulement pour l'informatique.
Mais, ils ont quasi imposé plusieurs de leurs manies, comme la taille des
matériels en pouces, le point d'origine des écrans texte en bas à gauche,
etc.
En général, les informaticiens comptent à partir de 0.
En fait, ce sont les ricains qui comptent en démarrant à 0 ; et pas seulement pour l'informatique.
Mais, ils ont quasi imposé plusieurs de leurs manies, comme la taille des matériels en pouces, le point d'origine des écrans texte en bas à gauche, etc.