Hier ist der Einstiegspunkt für meine Anwendung.Wie alias ich eine Modulvariable?
from clsConfiguration import clsConfiguration
import also_reads_settings_file
import settings
def main():
settings.config = clsConfiguration()
print settings.config.name_prefix
also_reads_settings_file.main()
if __name__ == '__main__':
try:
main()
except:
print "bad stuff happened..."
Zu diesem Zeitpunkt ist die Einstellungsmodul eine Zeile und speichert ein Konfigurationsobjekt:
config = ""
Die Konfigurationsklasse, ohne 20 oder so Variablen:
class clsConfiguration:
def __init__(self):
self.name_prefix = "ou3_"
self.app_short_name = "XYZ"
Hier Modul, das verwendet das Einstellungsmodul, ohne es zu initialisieren (das wird im Hauptmodul ausgeführt):
import settings
def main():
print settings.config.app_short_name
if __name__ == '__main__':
try:
main()
except:
print "bad stuff happened..."
Basierend auf dem oben genannten, wie erstelle ich einen Alias für settings.config
? Im obigen Beispiel kann ich einen Wert nur aus dem Konfigurationsobjekt abrufen, indem ich einen vollständig qualifizierten Namen, settings.config.app_short_name
, verwende.
Es wäre viel einfacher/besser, wenn ich den Modul- und Variablennamen zum Beispiel als XYZ bezeichnen könnte. Die Eigenschaft, nach der ich suche, wird xyz.app_short_name
statt settings.config.app_short_name
. Ein Teil davon ist, dass ich mich nicht mit den längeren Namen befassen möchte, sondern auch vermeiden möchte, alten Code zu refurbizieren, um die längeren Namen zu verwenden.
Ich weiß, das ist Beispielcode, aber bitte bitte entfernen Sie diese sinnlosen außer Blöcke. Es ist viel nützlicher, den tatsächlichen Fehler und die Rückverfolgung von Python zu bekommen als einen sinnlosen Kommentar. –