43 votes

Un moyen peu coûteux de rechercher une chaîne dans un fichier texte volumineux

J’ai besoin de rechercher un fichier texte assez volumineux pour une chaîne particulière. C’est un journal de construction avec environ 5000 lignes de texte. Quelle est la meilleure façon de procéder? L’utilisation de regex ne devrait pas causer de problèmes, n’est-ce pas? Je vais aller de l’avant et lire des blocs de lignes, et utiliser la simple trouvaille.

58voto

eumiro Points 56644

S’il s’agit d’un fichier « assez volumineux », accédez aux lignes séquentiellement et ne lisez pas le fichier entier en mémoire:

17voto

JoshD Points 7303

Vous pouvez faire une simple trouvaille:

Une simple trouvaille sera un peu plus rapide que regex si vous pouvez vous en tirer.

8voto

Martlark Points 5064

J’ai essayé de mettre en place un exemple de multitraitement de recherche de texte de fichier. C’est mon premier effort pour utiliser le module multitraitement; et je suis un python n00b. Commentaires tout à fait bienvenus. Je vais devoir attendre jusqu’au travail pour tester sur de très gros fichiers. Il devrait être plus rapide sur les systèmes multicœurs que sur la recherche monocœur. Bleagh! Comment arrêter les processus une fois que le texte a été trouvé et signaler de manière fiable le numéro de ligne ?

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