162 votes

Rechercher un fichier en python

J’ai un fichier qui peut se trouver à un endroit différent sur la machine de chaque utilisateur. Existe-t-il un moyen d’implémenter une recherche pour le fichier ? Un moyen de transmettre le nom du fichier et l’arborescence des répertoires à rechercher ?

331voto

Nadia Alramli Points 40381

os.walk est la réponse, cela trouvera la première correspondance:

Et cela trouvera toutes les correspondances:

Et cela correspondra à un modèle:

27voto

kgadek Points 346

J’ai utilisé une version de `` et sur un répertoire plus grand obtenu des temps autour de 3,5 sec. J’ai essayé deux solutions aléatoires sans grande amélioration, puis je l’ai fait:

Bien que ce soit POSIX uniquement, j’ai obtenu 0,25 seconde.

À partir de là, je pense qu’il est tout à fait possible d’optimiser beaucoup la recherche entière d’une manière indépendante de la plate-forme, mais c’est là que j’ai arrêté la recherche.

8voto

SARose Points 53

Si vous utilisez Python sur Ubuntu et que vous voulez seulement qu’il fonctionne sur Ubuntu, un moyen beaucoup plus rapide est d’utiliser le programme du `` terminal comme celui-ci.

est un des chemins d’accès absolus au fichier. C’est 10 000 fois plus rapide que les méthodes ci-dessus et pour une recherche que j’ai faite, c’était environ 72 000 fois plus rapide.

4voto

qarma Points 3310

Pour une recherche rapide et indépendante du système d’exploitation, utilisez ``

https://github.com/benhoyt/scandir/#readme

Lisez http://bugs.python.org/issue11406 pour plus de détails pourquoi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X