Je crée un serveur en réseau pour un clone-bogue que j'ai écrit en python, qui accepte les utilisateurs, résout les forums, et note l'entrée du joueur. Le fichier de dictionnaire que j'utilise est de 1,8 Mo (le dictionnaire ENABLE2K), et j'en ai besoin pour être disponible pour plusieurs classes de résolution de jeu. À l'heure actuelle, je l'ai fait pour que chaque classe parcourt le fichier ligne par ligne et génère une table de hachage (tableau associatif), mais plus j'instancie de classes de solveur, plus il prend de mémoire.Meilleure façon de stocker et d'utiliser un grand fichier texte en python
Ce que je voudrais faire est importer le fichier de dictionnaire une fois et le passer à chaque instance de solveur comme ils en ont besoin. Mais quelle est la meilleure façon de faire cela? Dois-je importer le dictionnaire dans l'espace global, puis y accéder dans la classe du solveur sous la forme globals() ['dictionary']? Ou devrais-je importer le dictionnaire puis le passer en argument au constructeur de la classe? L'un est-il meilleur que l'autre? Y a-t-il une troisième option?
+1: En effet.Les modules sont comme des objets singleton en Python. – martineau