Le problème actuel est dû au scénario suivant. J'ai un script qui exécute un programme en ligne de commande pour trouver tous les fichiers d'une certaine extension dans un dossier spécifique, appelons ces fichiers Fichier A. Une autre section du script exécute une commande grep à travers chaque fichier pour les noms de fichiers dans le fichier A. Ce qui serait la meilleure méthode pour stocker quels noms de fichiers sont dans le fichier A et seulement le fichier A, et comment pourrais-je l'obtenir? MerciProblème nécessitant des listes
Répondre
EDIT: Je vois que vous étiez celui qui a posé la question précédente! Pourquoi en ouvrir un nouveau?
Il y avait une question récente sur ce problème exact - la structure que vous modélisez est un graphe orienté . Voir my answer à cette question, en utilisant le paquet networkx
de Python. L'utilisation de ce paquet est une bonne idée si vous allez faire un post-traitement des données. Cependant, pour des situations simples, vous pouvez créer votre propre structure de données. Voici un exemple utilisant une représentation de liste d'adjacence d'un graphe; il n'est pas difficile d'utiliser une matrice d'adjacence à la place.
from collections import defaultdict
adj_list = defaultdict(set)
for filename in os.listdir(<dir>):
with open(filename) as theFile:
for line in theFile:
# parse line into filename, say 'target'
adj_list[ filename ].add(target)
Cela vous donnera un dictionnaire de nom de fichier -> fichiers liés par ce fichier.
vous semblez être assez rapide/fréquente replier katrielalex, merci pour cela. Y a-t-il une raison particulière pour utiliser une liste? Maintenant que j'y pense, pourrait-on coder une structure de classe d'une manière similaire? – user428370
bien la réponse est différente pour un, et votre réponse à cette question est arrivé à avoir résolu quelques problèmes. – user428370
@ user428370: La structure globale est ici un graphe orienté. Pour stocker ce graphique, vous avez besoin d'une structure de données pour cela. (Tout comme par exemple un vecteur est un concept mathématique mais il est stocké dans, par exemple, une liste ou un tuple.) Il existe plusieurs structures de données couramment utilisées pour les graphiques; Les deux plus communs sont les listes d'adjacence et les matrices d'adjacence (voir Wikipedia pour plus d'informations). Dans le cas ci-dessus j'ai implémenté une structure de liste d'adjacence en utilisant un dictionnaire d'ensembles Python. – katrielalex
- 1. Problème d'implémentation des listes liées
- 2. Problème de pagination nécessitant une assistance
- 3. problème de récupération de carte des listes
- 4. PHP menu arborescent problème des listes imbriquées
- 5. problème avec les listes?
- 6. problème avec les listes
- 7. Liste des listes de listes
- 8. Affectation de valeurs à des listes dans des listes à l'intérieur de listes dans des listes
- 9. Problème avec les captures d'écran web nécessitant une authentification
- 10. MVC Partials/Controls nécessitant des données
- 11. NMock Problème avec les listes
- 12. comparant les listes avec des listes
- 13. Problème de désérialisation des listes génériques avec C# XmlSerializer
- 14. Objet fabrique qui crée des objets nécessitant des dépendances
- 15. C# en VS2005: problème avec les listes
- 16. Fusion 2 triée des listes
- 17. Pythonic manière des listes et des listes de sommer les listes
- 18. prologue, copier des listes
- 19. aide avec des listes?
- 20. Liste des listes génériques
- 21. Vitesse des listes C#
- 22. QMapIterator déclaration de plusieurs listes problème
- 23. Création d'un champ personnalisé nécessitant des valeurs uniques
- 24. Compréhension de liste: faire des listes de listes
- 25. listes à trier, avec des listes à trier
- 26. Utilisation de l'emplacement des listes dans les listes
- 27. Créer des listes de listes de manière pythonique
- 28. convertir des listes de démarques en listes html en PHP
- 29. listes et sous-listes
- 30. Comment créer des listes déroulantes?
Pouvez-vous reformuler votre question? Ajouter un exemple ou deux aiderait aussi. –
Etes-vous en train d'essayer d'enregistrer la liste de noms de fichier dans un fichier pour l'utiliser ultérieurement dans un autre programme? –
@ Manoj: Le fichier "001356.doc" contient le texte suivant: "001354, 001359, 001245". Ce texte se trouve être des noms de fichiers. ex: 001354.doc, 001359.doc, 001245.doc Le produit final j'ai besoin est quelque chose comme ça (001356.doc) -001354.doc -001359.doc -001245.doc @ Noctis: oui – user428370