Je gère une assez grande suite de chimie quantique basée sur Python, PyQuante . Je me demande actuellement comment définir diverses valeurs par défaut afin que les utilisateurs puissent choisir entre différentes options au moment de l'exécution.
Par exemple, je dispose de trois méthodes différentes pour calculer les intégrales de répulsion des électrons. Appelons-les a, b, c. Avant, je choisissais simplement celle que je préférais (disons c) et je la câblais dans le module qui calcule ces intégrales.
Je l'ai maintenant modifié pour utiliser un module, Defaults.py, qui contient tous ces fils durs. Mais ce module est défini au moment de la compilation/installation. J'aimerais maintenant que les utilisateurs puissent remplacer ces options au moment de l'exécution, par exemple en utilisant un fichier .pyquanterc.py.
Dans mes routines intégrales, j'ai actuellement quelque chose comme
from Defaults import integral_method
Je connais les dictionnaires et la méthode .update(). Mais je ne sais pas comment je pourrais utiliser cela dans la vie réelle. Mon module defaults ressemble à
integral_method = c
Dois-je modifier la fin de Defaults.py pour rechercher un fichier .pythonrc.py et remplacer ces valeurs ? Par exemple
if os.path.exists('$HOME/.pythonrc.py'): do_something
Si c'est le cas, à quoi devrait ressembler do_something ?