Couper une chaine
Résolu
CestCa
-
CestCa -
CestCa -
Bonjour,
J'ai besoin d'aide pour faire un programme qui me permettrai de couper une chaine de caractères.
J'ai dans un dossier des fichiers avec leurs extensions, qui se présentent sous la forme " 20180912_... .(extension).(extension) ".
Et j'aimerai juste garder la première partie sans les extensions et écrire cette partie dans un autre fichier.
J'ai déjà écris ça :
Import bumpy as np
import os
O = os.listdir('emplacement du dossier')
O = [x.split('/')[-1]for x in O if 'extensions' in x.split('/')[-1]]
## Ici il faudrait que je coupe
fp = open ('le_nouveau_fichier.txt.', 'w')
fp.write("\n"+la_partie_récupérée)
fp.close()
Je vous remercie pour le temps que vous me consacrerez,
CestCa.
J'ai besoin d'aide pour faire un programme qui me permettrai de couper une chaine de caractères.
J'ai dans un dossier des fichiers avec leurs extensions, qui se présentent sous la forme " 20180912_... .(extension).(extension) ".
Et j'aimerai juste garder la première partie sans les extensions et écrire cette partie dans un autre fichier.
J'ai déjà écris ça :
Import bumpy as np
import os
O = os.listdir('emplacement du dossier')
O = [x.split('/')[-1]for x in O if 'extensions' in x.split('/')[-1]]
## Ici il faudrait que je coupe
fp = open ('le_nouveau_fichier.txt.', 'w')
fp.write("\n"+la_partie_récupérée)
fp.close()
Je vous remercie pour le temps que vous me consacrerez,
CestCa.
A voir également:
- Couper une chaine
- Couper une video - Guide
- Chaine tnt gratuite sur mobile - Guide
- Comment couper une musique - Guide
- Couper une photo en 3 pour instagram - Guide
- Chaine radio - Télécharger - Médias et Actualité
Non juste avoir les premiers chiffres après le '_' , mais je suppose que je dois juste remplacer ici :
O2 = [re.sub(r'\ _*$', '', st) for st in O]
C'est bien cela ?
Merci beaucoup pour cette réponse :)
CestCa
Je supose que tu veux dire avant
Dans ce cas, cela serait :
- c'est à dire
- suivit de n'importe quel caractère
- présent zéro, une ou plusieurs fois
- jusqu'à la fin de ligne
ce qui correspond à cette description est remplacé par la chaîne vide
Dal
Je mets tout ca comme résolu.
Comme le motif à chercher est simple, tu peux aussi le faire sans regexp (et sans ajout de , donc).
Par exemple, le même résultat peut être obtenu en utilisant split comme cela :
Par contre, cela ne fonctionne que si tu n'as dans ton répertoire que des fichiers qui correspondent à ta description. Sinon :
- si tu as dans ton répertoire des fichiers qui ne comportent pas un , cela retournera le nom du fichier non modifié
- si tu as dans ton répertoire des fichiers qui comportent un , mais qui ne sont pas précédés de 8 chiffres, tu auras ce qui précède le , même si ce n'est pas ce que tu attends
Si tu as besoin de valider la chaîne afin d'être sûr que tu récupères ce que tu attends, tu peux le faire avec les regexp. Par exemple, comme cela :
Les parenthèses dans la regexp créent un groupe de capture.
Voir : https://docs.python.org/2/library/re.html#match-objects
Dal
Je suis assez novice sur python ^^
CestCa