masklinn í dag viðrar vel til loftárása | Tangrim a écrit :
Bonjour,
j'ai un petit problème en python:
je cherche à effacer toutes les lignes d'un fichier après la dernière occurence d'une chaîne de caractères (ligne où se trouve cette chaîne comprise).
Je suis en train de chercher depuis un bon moment la demarche à adopter pour réaliser ça où le module qui pourrait m'aider.
Merci de votre aide.
|
ouvres ton fichier, passes les lignes dans itertools.takewhile, écrits les lignes sorties dans un nouveau fichier, dernière opération optionnelle supprimes le fichier d'origine et renommes le nouveau.
$ python
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import itertools
>>> with open('as.txt','w') as f:
... f.writelines(itertools.takewhile(lambda line: not line.lower().startswith('b'), open('/usr/share/dict/words')))
... >>> ^D
$ wc -l /usr/share/dict/words
234936 /usr/share/dict/words
$ wc -l as.txt 17061 as.txt |
dans as.txt, j'ai que les mots qui commence par "a". ---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
|