# Obtenir des noms de fichiers valides

**URL:** <https://discuss.afpy.org/t/obtenir-des-noms-de-fichiers-valides/371>\
**Category:** Projets\
**Created:** [Août 1, 2021, 10:06 UTC](https://discuss.afpy.org/t/obtenir-des-noms-de-fichiers-valides/371 "2021-08-01T10:06:23Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![cGIfl300](https://discuss.afpy.org/letter_avatar_proxy/v4/letter/c/ecae2f/32.png) [@cGIfl300](https://discuss.afpy.org/u/cGIfl300)\
**Post date:** [Août 1, 2021, 10:06 UTC](https://discuss.afpy.org/t/obtenir-des-noms-de-fichiers-valides/371/1 "2021-08-01T10:06:23Z")

</div>

J’ai eu besoins de générer des noms de fichiers et dossiers valides et cohérents en utilisant des données lors de scraping, autant dire que je ne voulait pas régler le problème à la main au fur et à mesure.  
J’ai donc écrit ce petit morceau de code qui se charge de transformer un path non valide sous windows en path valide.

> **[cGIfl300 - Blog ~ Project filter\_filename](https://www.cgifl300.com/project-filter_filename.html)**
>
> Transform invalid Windows 10 filename into a valid one

---

<div class="post-metadata">

**Author:** ![entwanne](https://discuss.afpy.org/user_avatar/discuss.afpy.org/entwanne/32/8_2.png) [@entwanne](https://discuss.afpy.org/u/entwanne)\
**Post date:** [Août 3, 2021, 7:44 UTC](https://discuss.afpy.org/t/obtenir-des-noms-de-fichiers-valides/371/2 "2021-08-03T07:44:16Z")

</div>

J’ai jeté un œil, tu gagnerais à utiliser la `pathlib` pour tes différentes opérations.

Aussi, dans [`strip_filename.py`](https://github.com/cGIfl300/filter_filename/blob/0ab36781b62c0bf000c94266a5f585c391ac9393/strip_filename.py) tu devrais utiliser un ensemble de caractères (`set` ou `frozenset`) et une opération `in` plutôt que de devoir reboucler sur tous les caractères autorisés à chaque fois (ce qui n’est pas top en complexité quand tu peux avoir un `in` en `O(1)`).

---

<div class="post-metadata">

**Author:** ![cGIfl300](https://discuss.afpy.org/letter_avatar_proxy/v4/letter/c/ecae2f/32.png) [@cGIfl300](https://discuss.afpy.org/u/cGIfl300)\
**Post date:** [Août 3, 2021, 8:53 UTC](https://discuss.afpy.org/t/obtenir-des-noms-de-fichiers-valides/371/3 "2021-08-03T08:53:08Z")

</div>

Complètement d’accord, j’ai ajouté l’issue pour quand j’aurais 5 minutes.
