Seite 1 von 1

Config in einer python datei

Verfasst: Montag 27. Februar 2006, 14:48
von Clif
hi leute ;) ich bin gerade am überlegen meine datenbank daten usw in eine pythonfile zu schreiben die ich dann importiere.

da die config im normal fall ja eh nur ein mal geschrieben wird sollte es ja nicht schwer sein die über ein kleines template zu erstellen.
Nun meine Frage.

Lohnt sich das eigentlich?

Verfasst: Montag 27. Februar 2006, 15:17
von Mad-Marty
Das kommt darauf an was "deine config" ist.

Reden wir hier über 1 Attribut ? 10 ? 100 ?

Sollte es für eine Config reichen : schau dir ConfigParser an.

Ansonsten kannst du natürlich einfach eine config als python-modul anlegen und die importieren.

Verfasst: Montag 27. Februar 2006, 15:32
von Clif
atm gehts nur um ne kleine config (geht um die DB daten) :roll:

Verfasst: Montag 27. Februar 2006, 20:01
von Mad-Marty
DB Daten ... wieviele ?

sind es nur wenige Datensätze bieten sich mehrere wege an, von RawFile (csv) über Python Files (sehr bequem), oder aber xml (imo zuviel aufwand, igitt xml :D)


Mit jedem der ansätze wirst du unterschiedliche schwachstellen haben.

Evtl. bietet sich ja auch ein cPickle an von deinem Datenobjekt ?
Ist dann aber nichtmehr ausserhalb editierbar.

Verfasst: Montag 27. Februar 2006, 20:39
von gerold
Clif hat geschrieben:atm gehts nur um ne kleine config (geht um die DB daten) :roll:
Vielleicht suchst du so etwas:

settings.txt:

Code: Alles auswählen

# Einstellungen
vorname = Gerold
nachname = Penz

Code: Alles auswählen

def get_settings_from_file(filename):
    """
    Einstellungen aus Textdatei auslesen.
    Kommentar:    #
    Einstellung:  key = value
    
    :filename: Dateiname der Einstellungsdatei
    """
    f = file(filename, "r")
    settings = {}
    
    for line in f:
        if line.strip() and not(line.startswith("#")):
            if line.find("=") > 1:
                key, value = line.split("=")
                settings[key.strip()] = value.strip()
    f.close()

    return settings

print get_settings_from_file("settings.txt")
Oder vielleicht so etwas: http://www.python-forum.de/viewtopic.php?p=9198#9198

mfg
Gerold
:-)