Les variables globales à travers de multiples fichiers en python
J'ai un modules.py fichier :
global dns_server_ip
def SetVnetGlobalParameters():
dns_server_ip = '192.168.3.120'
Et je suis de l'importation du fichier à-dire abc.py fichier
from modules import *
SetVnetGlobalParameters()
print(dns_server_ip)
Mais " dns_server_ip’ est pas encore accessible.
Je veux définir des paramètres globaux, par la Fonction. Toute aide serait grandement appréciée!
Merci..
Facilement résolu avec Zangetsu réponse, mais pourquoi ne pas simplement faire un module attribut de niveau?
Aussi, assurez-vous que vous n'avez pas que
Merci beaucoup pour la réponse 🙂
Aussi, assurez-vous que vous n'avez pas que
’
les caractères de votre code source, mais un '
à la place.Merci beaucoup pour la réponse 🙂
OriginalL'auteur ShitalSavekar | 2013-04-18
Vous devez vous connecter pour publier un commentaire.
Que par votre question, je comprends que vous soyez novice ou python.
Lors de l'importation des modules que vous avez utiliser juste le nom du module et n'ont pas besoin d'inclure l'extension ou un suffixe(py) et dans votre code, vous manquez de départ de devis unique .
Voici ton code modifié:
il est modules.py
Ici est votre abc.py
Ici par le mot clé global, nous indiquons l'interpréteur python pour modifier ou préciser la variable globale au lieu de la variable locale et toujours la variable serait soit
global
oulocal
Si la variable est à la fois (local et global), vous obtiendrez pythonUnboundLocalError
exception et si vous n'avez pas mis ce mot clé globalLa dns_server_ip sera créé comme une nouvelle variable locale . Le mot-clé
global
destinée à dans la ne fonctionne quevous pouvez vérifier mot clé global,les modules python
vous essayez de la ma version modifiée, de même que j'ai vérifié mon auto Il fonctionne comme prévu . Ici, vous ne devriez pas utiliser " à partir de modules d'importation *" au lieu de cela nous devons utiliser des modules d'importation Lorsque nous utilisons "à partir de modules d'importation *" tous les attributs du module sont importés pour le nom global de l'espace des modules actuels où nous avons importé les autres modules de contenu
Merci beaucoup pour l'explication 🙂
OriginalL'auteur naveen tamanam
Dans modules.py
Dans abc.py
J'ai apporté certaines modifications, ont un coup d'oeil
Merci beaucoup 🙂
OriginalL'auteur Zangetsu