OVH Cloud OVH Cloud

Découpe d'un texte

12 réponses
Avatar
stealth
Bonjour =E0 tous,

Je cherche la meilleur m=E9thode pour supprimer des lignes dans un texte

Voici mon code (python/GTK) pour l'affichage dans une fenetre GTK

info =3D pexpect.spawn('gpg --decrypt gpg-password.asc', timeout=3D3)
info.expect_exact(['password:', 'Password:', 'passe:'])
info.sendline('%s' % (passe))
text =3D info.read()
text =3D unicode(text, 'ISO-8859-1', 'ignore').encode('UTF-8')
buffer =3D self.textview1.get_buffer()
buffer.set_text(text)

=E7a fonctionne, mais malheuresement gpg ajoute la ligne suivante en
d=E9but de texte (normal).

gpg: chiffr=E9 avec une cl=E9 de 2048 bits ELG-E, ID 6D26EDF9, cr=E9=E9e le
2006-02-13
=AB test <toto@toto.com> =BB
-----BEGIN PGP MESSAGE-----

Comment la supprimer proprement=20

Merci d'avance

2 réponses

1 2
Avatar
Eric Deveaud
bruno at modulix wrote:
Eric Deveaud wrote:

En général, les informaticiens comptent à partir de 0.


oui mais j'avoue que dans le contexte des numeros de lignes, je vois mal la
ligne zero

Où comment s'emm... la vie pour rien !-)

(Non, Eric, pas taper... Aïe, Non !)

Pour ce qui est du compteur, enumerate(seq) fait ça tout seul...
Pour ce qui est de filtrer, il y a filter()


ca doit etre ma deformation. j'essaye d'enseigner la programtion a des
etudiants via python en tendant a rester le plus general possible.
mon idee est de faire avec un set minimal d'expression que je sais etre
disponible dans les autres langages et des concepts valables quels que soit le
langage.

puis dans un deuxiemme temps je leur introduits les specificite pythonesques.

NB en general je leur fait faire les boucles de lectures via une boucle while,
pas via l'iterateur des FH ;-))

ce qui me gene c'est de voir des gens qui font du code de haut niveau, mettant
en oeuvre des environements complexes, a coup de copier/coller et ou modif de
bout de code trouve a droite a gauche, et qui sont incapables de resooudre un
pb aussi simple que celui d'un filtrage de ce genre. attention il est possible
qu'un troll se cache derriere ce que je viens de dire.
def skip_from_iter(lines, *exclude_indices):
return filter(lambda i, line: i not in exclude_indices,
enumerate(lines))


miam les lambdas, j'aimais bien scheme pour ca et ses fermetures.

Note que fichier, liste, ou n'importe autre quel iterable fait aussi
bien l'affaire.


on dit pas sequences dans ce cas ;-)

PS il y a encore plein d'autres facon defaire.....


N'est-ce pas ?-)


allez a qui le tour ;-))

Eric

--
GM> je sais pas si les filtres sur fr.* existent puisque j'ai vu passer
GM> un msg sur fr.soc.histoire avec des photos de pièces gauloises...
C'est parce qu'il ne faut pas de filtre pour les gauloises.
-+- PV in <http://le-gnu.net> - Fume, c'est du binaire -+-


Avatar
stealth
Bonjour,

Merci à tous pour vos solutions, je médite aussi sur le " troll "
d'Eric même si il exagère un peut, je ne prétend pas faire du code
haut niveau (Dieu m'en préserve) j'en suis bien incapable ne codant
qu'avec un fusil sur la tempe ou bien quand il manque une
fonctionnalité dans une application que j'utilise dans mon job
d'admin.
Je fais plutôt des modifs de bout de code trouvé à droite à gauche
;-)

Oui, oui, j'ai compris ce n'était pas très compliqué ...
1 2