Je suis dans une situation où plusieurs threads lisent le même gros fichier avec des pointeurs de fichiers multi-vers le même fichier. Le fichier aura au moins 1 million de lignes. La longueur de chaque ligne varie de 500 caractères à 1500 caractères. Il n'y aura pas "écrire" des opérations sur le fichier. Chaque thread commencera à lire le même fichier à partir de différentes lignes. Quel est le moyen efficace ..? En utilisant le linecache de Python ou readline normal() ou est-ce qu'il y a un autre moyen efficace?Python: Lecture de fichier énorme en utilisant linecache Vs normal d'accès au fichier open()
2
A
Répondre
2
Jetez un oeil sur le module mmap
: http://docs.python.org/library/mmap.html
Il vous permettra d'utiliser le fichier comme un tableau, tandis que le système d'exploitation gère la lecture réelle et mise en mémoire tampon.
Questions connexes
- 1. Lire un fichier énorme en Python
- 2. lecture colonne de fichier csv et l'extraction en utilisant python
- 3. Python: Comment lire un énorme fichier texte en mémoire
- 4. impression dans un fichier en Python: redirect vs argument du fichier d'impression vs écriture
- 5. Objet de fichier en mémoire utilisant Python
- 6. Écrire au fichier UTF-8 en Python
- 7. problème avec le fichier de lecture en Python
- 8. Envoyer un fichier python en utilisant httplib
- 9. Recherche d'un fichier Unicode en utilisant Python
- 10. script Python lecture d'un fichier csv
- 11. Comment filtrer un fichier en utilisant un modèle dans un autre fichier en utilisant Python?
- 12. Comment traiter le fichier TemporaryUploadedFile de django en tant que fichier python normal
- 13. Contenu du fichier au format d'arbre en utilisant python
- 14. Lecture de fichiers en utilisant Python
- 15. Comment faire un fichier réseau partagé en lecture seule en utilisant Python?
- 16. Python: Open() en utilisant une variable
- 17. Trouver "chaîne" dans le fichier texte - Ajouter au fichier Excel en utilisant Python
- 18. Tri un énorme fichier en Java
- 19. Fichier XML utilisant Python
- 20. Validation d'un énorme fichier XML
- 21. save Exceptions au fichier en python
- 22. Lecture d'un fichier wav, chaîne concaténer au fichier appeler
- 23. Reprise d'un fichier volumineux écriture en Python
- 24. Comment écraser un fichier en cours de lecture par Python
- 25. Problème de lecture Fichier utilisant l'encodage UTF-8 en java
- 26. Lecture à travers le fichier en utilisant ifstream
- 27. Comment télécharger un fichier zip en python en utilisant urllib2?
- 28. Télécharger un fichier image en utilisant python
- 29. Comment lire ce fichier en utilisant Python?
- 30. Fortran 90 fichier OPEN
Avez-vous besoin d'utiliser le filetage? Il semble que les E/S disque seront le goulot d'étranglement, donc la lecture de différentes parties du fichier va provoquer plus de temps de recherche et ralentir les choses, plutôt que de les accélérer. – Thomas
Oui, je dois utiliser des threads. Je travaille sur des tests de performance. Donc, ne veulent pas prendre des coups sur les deux lectures de fichiers, la gestion de la mémoire. – KALYAN