#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+#
# PYTHON LESSION 1 FILES
# V0.9 05.07.2023 Auth. VODIMAN
#---------------#
#„r“ – (read) lesen der Datei
#„w“ – (write) schreiben in der Datei(löscht vorher alles !!!)
#„a“ – (append) hinzufügen von Dateien an das Ende der Datei(löscht vorher nicht !!!)
#„r+“ – spezieller Modus zum schreiben und lesen der Datei
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+#
# Daten zum Speichern
import datetime
data = "Beispieltext zum Speichern in einer Datei."

# Daten in Datei schreiben
with open("daten.txt", "w") as file:
    file.write(data)
    file.close()
# Daten aus Datei lesen
with open("daten.txt", "r") as file:
    read_data = file.read()
    file.close()
# Ausgabe der gelesenen Daten
print("Gelesene Daten:")
print(read_data)
print()
#Mehrere Werte schreiben und lesen
werte = ["WERT1", "WERT2", "WERT3", "WERT4","192.50","345,70"]
with open("daten.txt", "w") as file:
    for wert in werte:
        file.write(wert+"\n")
    file.close()
#Noch eine Zeile hinzufügen
with open("daten.txt", "a") as file:
    file.write("Zusatzinformation\n")
    file.close()
#Alle Zeilen der Datei lesen
with open("daten.txt", "r") as file:
    read_data = file.read()
    print("Gelesene Daten:")
    print(read_data)
    file.close()
#Daten lesen und verändern/überschreiben
with open("daten.txt", "r+") as file:
    read_data = file.read() 
    print(read_data)
    file.seek(27)  # Pointer an die jeweilige Position(Byte Offset) setzen. Erster Offset=0
    file.write("WERT5  ") #Inhalt wird berschrieben !!!)
    print("----NEU LESEN----")
    file.seek(0)  # Pointer wieder an den Dateianfang setzen
    read_data = file.read()
    print(read_data)
    file.close()
#Dateien mit Spalten(CSV)
werte = ["WERT1;WERT1A;WERT1B\n", "WERT2;WERT2A;WERT2B\n", "WERT3;WERT3A;WERT3B\n", "WERT4;WERT4A;WERT4B\n"]
with open("daten2.csv", "w") as file:
    for wert in werte:
        file.write(wert)
file.close()
with open("daten2.csv", "r") as file:
    print(" SP1   SP2    SP3")
    for werte in file:
        # entfernen der nicht sichtbaren sowie Leerzeichen am Anfang und am Ende der Zeile, sowie
        # teilen der Zeile in ein Liste, die Werte werden jeweils vor einem Semikolon getrennt
        zeile = werte.strip().split(";")
        # erster Eintrag (Index 0) aus der Liste repräsentiert den 1.wert
        wert1 = zeile[0]
        # zweiter Eintrag (Index 1) aus der Liste repräsentiert den 2.wert
        wert2 = zeile[1]
        # dritter Eintrag (Index 2) aus der Liste repräsentiert den 3.wert
        wert3 = zeile[2]
        print(wert1,wert2,wert3,sep=" ")
file.close()