ich brauche zur Zeit für ein Programm die Möglichkeit, verschiedene Werte zu speichern und wieder einzulesen. Ich habe mich dafür entschieden, die Daten einfach in einer CSV-Datei abzulegen.
Code: Alles auswählen
import sys
try:
Settings = open("Programm-Einstellungen.csv","w")
except:
print("Öffnen der Datei fehlgeschlagen!")
sys.exit(0)
Dezimalzahl = int(input("Genauigkeit: "))
Ausgabedatei = str(input("Name der Ausgabedatei: "))
# CSV-Datensatz erstellen
Genauigkeit = ["Dezimalzahl", int(Dezimalzahl)]
Settings.write(str(Genauigkeit[0]) + ";" + str(Genauigkeit[1]) + "\n")
Settings.write(str("Ausgabedatei") + ";" + str(Ausgabedatei) + "\n")
Settings.close()
Zum import habe ich folgenden Codeschnipsel:
Code: Alles auswählen
try:
Settings = open("Programm-Einstellungen.csv")
except:
print("Öffnen der Datei fehlgeschlagen!")
sys.exit(0)
Datei_Inhalt = Settings.read() #Liest Datei ein
Settings.close() #Schließt Datei
zeilenliste = Datei_Inhalt.split(chr(10)) #Zeilen aufteilen
Einstellungen2d = [] #Leere Liste, die im Nachfolgenden mit den Werten befüllt wird (2d Liste)
for x in zeilenliste:
if x:
templiste = x.split(";")
Einstellungen2d.append([str(templiste[0]), str(templiste[1])])
Einstellungen_normal = [Einstellungen2d[0][0], Einstellungen2d[0][1], Einstellungen2d[1][0], Einstellungen2d[1][1]] #Liste "Einstellungen2d" wird in eine Dimension konvertiert
Kann mir jemand sagen, wie ich also überprüfen kann, welche Werte gesetzt wurden und diese Werte dann als Variable im Programm einsetzen kann? (für default-Werte könnte man ja bspw. per if/else verzweigung einfach keine variable setzen, hab aber grad nichts dienliches vor meinem geistigen Auge)
Lg heiliga horsd
edit: Wäre es auch Möglich, die Daten als Funktionsparameter zu übergeben? Und wie müsste ich dann Code #1 und Code #2 abändern, dass es da keine Konflikte gibt?