0
votes

Python 3: Importation de fichiers contenant des variables à utiliser comme constantes

Je veux utiliser un fichier config.py dans lequel je vais déclarer certaines constantes à utiliser dans Mainfile.py.

Je définirai ces "variables constantes" à l'aide de lettres majuscules. Je veux faciliter la configuration des paramètres Mainfile.py en définissant les constantes uniquement dans Config.py.

réussite, dans mainfile.py, les valeurs de ces constantes ne sont nullement modifiées.

Alors, ma question est la suivante: Si dans Mainfile.py, j'utilise "à partir de configuration import *", sont les "variables constantes" définies dans config.py utilisé comme variables globales dans mainfile.py? Par exemple. Fonctions de l'auberge définie dans Mainfile.py, dois-je repenser ces variables comme globales afin de les utiliser?


2 commentaires

Pourquoi ne pas simplement l'essayer vous-même? Vos constantes seront dans la portée mondiale


Vous devriez avoir un coup d'oeil sur Configparrer si vous souhaitez envisager de stocker la configuration dans un .Config / Propriétés / fichier ini.


3 Réponses :


1
votes

Vous pouvez simplement écrire importer config et toutes vos constantes seront accessibles à votre code dans mainfile.py . .


0 commentaires

0
votes

Il y a deux options:

  1. Comme déjà signalé par @josh, dans config.py Vous nommez vos variables, telles que m = 10 , t = 52 , etc. Ensuite, sur mainfile.py vous import config et accédez à vos variables comme config.m qui aboutira à 10 . Comme:

    y = config.m
    y = 10

    1. La deuxième option est un peu plus longue. Vous créez une fonction telle que

      def m (): m = 10 renvoyer m

      sur mainfile.py vous import config et accéder à la variable comme config.m () qui donnera 10 . Comme xxx


0 commentaires

0
votes

global est requis si vous modifiez la variable importée dans certains cas et que vous devez refléter cette valeur sur tous les autres endroits où la variable est accessible.

Puisque vous ne lisez que la valeur de la variable importée ici, global n'est pas requis. Aussi des fonctions intérieures Si une variable est lue d'abord, elle effectue des recherches sur la portée locale, puis sur la portée mondiale. Donc, pas de global requis de fonction intérieure à des fins de lecture.


0 commentaires