List Index out of range
Verfasst: Samstag 28. September 2019, 22:43
Hallo Freunde,
ich bin relativ neu mit Python unterwegs und habe mal eine kleine Frage.
Ich lese aus einer Datei eine Zeile ein und nutze "split" um diesen "String" aufzuteilen.
Die jeweiligen Index speichere ich in weiteren Variablen, um diese dann zu bearbeiten/nutzen.
Wenn ich das Programm allein ausführe, klappt es auch alles ohne Probleme.
Nun ist mein Ziel, dass diese Python-Datei aus einer anderen aufgerufen wird.
Dazu wird in der 2. Datei ein Wert ermittelt und in der Textdatei gespeichert.
Danach wird die 1. Datei aufgerufen und diese soll dann den Inhalt der s1.txt
verarbeitet werden. Doch hier kommt dann ein Fehler
Fehler:
Hat dazu jemand eine Idee?
Wenn ich die 1. Datei manuell aufrufe, geht alles. Dann nicht mehr.
Ich habe "len" ausgeben lassen und da steht 4.
Danke euch
ich bin relativ neu mit Python unterwegs und habe mal eine kleine Frage.
Ich lese aus einer Datei eine Zeile ein und nutze "split" um diesen "String" aufzuteilen.
Die jeweiligen Index speichere ich in weiteren Variablen, um diese dann zu bearbeiten/nutzen.
Wenn ich das Programm allein ausführe, klappt es auch alles ohne Probleme.
Code: Alles auswählen
datensatz1 = file1.read() #"S1:1|W:221.34|P1:1|PZ:0"
daten_liste1 = datensatz1.split("|")
s_status1 = daten_liste1[0]
s_wert1 = daten_liste1[1]
p_an1 = daten_liste1[2]
pump_zaehler1 = daten_liste1[3]
Dazu wird in der 2. Datei ein Wert ermittelt und in der Textdatei gespeichert.
Danach wird die 1. Datei aufgerufen und diese soll dann den Inhalt der s1.txt
verarbeitet werden. Doch hier kommt dann ein Fehler
Code: Alles auswählen
if "S1" in wert:
file = open("s1.txt","w")
file.write(wert)
cmd = 'sudo python3 DB.py'
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
out, err = p.communicate()
result = out.split('\n')
for lin in result:
if not lin.startswith('#'):
print(lin)
Code: Alles auswählen
Traceback (most recent call last):
File "DB.py", line 24, in <module>
s_wert1 = daten_liste1[1]
IndexError: list index out of range
Wenn ich die 1. Datei manuell aufrufe, geht alles. Dann nicht mehr.
Ich habe "len" ausgeben lassen und da steht 4.
Danke euch
