Thread Python - Erstellung einer Config (1 answers)
Opened by YAPD at 2021-07-26 16:51

YAPD
 2021-07-26 16:51
#193458 #193458
User since
2015-09-20
146 Artikel
BenutzerIn

user image
Hallo liebe PERL Gemeinde,

ich habe eine Frage zu der Erstellung einer Config Datei. Hier geht es
zwar auch um die Programmierung, aber mehr um die Umsetzung und ich
würde gerne wissen, wie ihr es lösen würdet.

Ich habe folgende ( Haupt - ) Datei :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from Config import *

class Power_Manager:

PM_Power_Supplies = { }

def __init__( Self ):

Self.CFG = Config( )

def Initialize_Power( Self ):

CFG = Self.CFG
Config_Entries = CFG.Config_Loader( )
print( "Config Mode :" , Config_Entries[ "Home" ] )

PM = Power_Manager( )
PM.Initialize_Power( )


Bei der Initialisierung der Klasse rufe ich mit Config( )
die Config auf :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import os

class Config:

CFG_Config_Entries = { }
CFG_Debug_Modus = "No"
CFG_Home = "C:\Testumgebung"

def __init__( Self ):
print( "TEST" )
Self.Home = "Standard"

def Config_Loader( Self ):
print( "Loading Config Entries ..." )

Config_Entries = { "Home" : Config.CFG_Home ,
"Debug_Mode" : Config.CFG_Debug_Modus }

import Defaults
DS = Defaults.Defaults( Self )
Defaults_Entries = DS.Load_Defaults( )
Config_Entries.update( Defaults_Entries )

return Config_Entries


Mit dem Befehl "Config_Entries = CFG.Config_Loader( )" erhalte ich die
Einträge aus der Config und aus Defaults.

PROBLEMATIK :

Ich gebe hier alle Werte aus Config und Defaults als Dictonary zurück,
damit ich die Einträge mit Config_Entries[ "Eintrag" ] aufrufen kann.
Das funktioniert im Prinzip wie ich es möchte. Allerdings muss ich
jetzt in jedem Modul folgende Einträge machen :

init :

Self.CFG = Config( )

Sub :

CFG = Self.CFG
Config_Entries = CFG.Config_Loader( )

Außerdem hab ich den Nachteil, dass jedes Mal eine neu Instanz der Config
erzeugt wird.

Wäre es nicht besser die Klasse global verfügbar zu machen, damit diese
nur einmal initialisiert wird und man Einträge on the fly ändern kann.
Oder haltet ihr die Art, wie ich es gerade habe, für ausreichend ?

Vielen Dank für Eure Hilfe !

VG
YAPD
Yet Another Perl Developer

View full thread Python - Erstellung einer Config