/!\ Le code complet est à la fin /!\
Bonjour, excusez-moi pour ce titre qui ne veux rien dire mais je ne savais pas comment décrire mon problème en une seule phrase.
Je suis actuellement en train de faire un programme qui scan un répertoire et qui sort le path de tous les fichiers/sous-dossiers.
Voici le code avec le résultat :
Mon but est d'enlever tous les caractères inutiles ([ & ] & ') et j'y arrive voici ce que je rajoute à mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 import os repScan = 'Fichiers' for dossier, ss_doss, listFic in os.walk(repScan): print(dossier, ss_doss, listFic) >>>Fichiers ['image', 'Iso'] ['Informationstte.png'] >>>Fichiers\image [] ['InformationsRH.png'] >>>Fichiers\Iso [] ['debian-8.7.1-amd64-CD-1.iso']
On peux remarqué qu'en dessous de chaque string avec les symboles non voulu, il m'affiche bien ma phrase sans ces-derniers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 p = dossier + "" + str(ss_doss) + "" + str(listFic) list_sc = [",", "-", "?", "'", "[", "]", "(", ")", "{", "}"] print(''.join([i if i not in list_sc else ' ' for i in p])) >>>Fichiers ['image', 'Iso'] ['Informationstte.png'] >>>Fichiers image Iso Informationstte.png >>>Fichiers\image [] ['InformationsRH.png'] >>>Fichiers\image InformationsRH.png >>>Fichiers\Iso [] ['debian-8.7.1-amd64-CD-1.iso'] >>>Fichiers\Iso debian 8.7.1 amd64 CD 1.iso
Et c'est la qu'est mon problème, maintenant je souhaite remplacer les espaces blancs par des \ seulement en python "\" ne s'écrit pas et cause une erreur, comment dois-je l'écrire?
De plus si on prend avec l'exemple de remplacer les blancs par des tirets (car je n'arrive pas à mettre des \) et bien ca pose problèmes car il y a plusieurs blancs d'affilés et je n'en veux qu'un par "groupe de blancs) je m'explique :
Si on rajoute :
Il met plusieurs tirets d'affilé hors je n'en veux qu'un pour au final faire quelque chose du genre : Fichiers-image-Iso-Informationstte.png (à terme ce sera des \ pour faire un path)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 print(p.replace(" ", "-")) >>>Fichiers ['image', 'Iso'] ['Informationstte.png'] >>>Fichiers--image----Iso----Informationstte.png--
Et comment faire pour enlever les deux tirets après .png?
Voila, je sais pas si je me suis bien exprimé, en tout cas je reste attentif à vos réponse si vous avez besoin de plus de précisions.
Merci d'avance & voici le code au complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 import os repScan = 'Fichiers' for dossier, ss_doss, listFic in os.walk(repScan): print(dossier, ss_doss, listFic) p = dossier + "" + str(ss_doss) + "" + str(listFic) list_sc = [",", "-", "?", "'", "[", "]", "(", ")", "{", "}"] p = ''.join([i if i not in list_sc else ' ' for i in p]) print(p.replace(" ", "-"))
Partager