/!\ 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 :

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']
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
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
On peux remarqué qu'en dessous de chaque string avec les symboles non voulu, il m'affiche bien ma phrase sans ces-derniers.
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 :

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--
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)

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(" ", "-"))