Globale Variablen über mehrere Dateien in python
Habe ich eine modules.py Datei :
global dns_server_ip
def SetVnetGlobalParameters():
dns_server_ip = '192.168.3.120'
Und ich bin der Import dieser Datei in sagen abc.py Datei
from modules import *
SetVnetGlobalParameters()
print(dns_server_ip)
Aber 'dns_server_ip' ist noch nicht zugänglich.
Möchte ich Globale Parameter setzen die der through-Funktion nur. Jede Hilfe wäre sehr geschätzt werden!
Danke..
Leicht behoben werden mit Zangetsu zu beantworten, aber warum nicht einfach machen es einem Modul-level-Attribut?
Auch, stellen Sie sicher, dass Sie nicht haben, dass
Vielen Dank für die Antwort 🙂
Auch, stellen Sie sicher, dass Sie nicht haben, dass
’
Charakter in Ihrem source-code, sondern ein '
statt.Vielen Dank für die Antwort 🙂
InformationsquelleAutor ShitalSavekar | 2013-04-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie pro Ihre Frage, die ich verstehe, du bist Anfänger, der python.
Beim Import der Module, die Sie haben, verwenden Sie einfach Modul-name und nicht der Notwendigkeit der Erweiterung oder suffix(py) und in Ihrem code, den Sie vermissen den Start-Apostroph .
Hier ist deine geänderte code:
es ist modules.py
Hier ist Ihre abc.py
Hier durch das Schlüsselwort global sagen wir den python-interpreter zu verändern oder auf den Punkt der globalen variable anstatt der lokalen variable und immer die Variablen werden entweder
global
oderlocal
Wenn die variable beide (lokal und global) erhalten Sie pythonUnboundLocalError
Ausnahme, und wenn Sie nicht das Schlüsselwort globalDen dns_server_ip erstellt werden, wird eine neue lokale variable . Das Schlüsselwort
global
soll mit in den Funktionen, die nurkönnen Sie überprüfen,global-Schlüsselwort, python-Module
Sie bitte versuchen meine bearbeitete version, auch ich habe meinen selbst, Es funktioniert wie man es erwartet . Hier sollten Sie nicht verwenden, " from Module import *" anstatt dass wir mit den import-Modulen, Wenn wir "aus Modulen importieren *" alle Attribute des Moduls importiert werden, um den globalen Raum der Namen der aktuellen Module, wo wir importiert haben, werden die anderen Module Inhalte
Dank dir vielmals für die ausführliche Erklärung 🙂
InformationsquelleAutor naveen tamanam
In modules.py
In abc.py
Habe ich gemacht, bestimmte änderungen, haben einen Blick
Vielen Dank 🙂
InformationsquelleAutor Zangetsu