Guten Morgen Daniel,
kampfDemError hat geschrieben:Hallo zusammen,
Ich habe folgendes Problem:
habe ein txt.Datei mit diesem Inhalt:
["String1","String2","String3"]
nun möchte ich zum Beispiel nur "String2" ausgeben lassen.
Habe diese kurze Script, aber komme damit leider nicht weiter.
Code: Alles auswählen
pfad = "meinVerzeichnis"
dateiname="text.txt"
datei = pfad+dateiname
in_file = open(datei,"r")
liste = in_file.read()
in_file.close()
print liste[1]
Hast du dir mal "liste" ausgeben lassen? Da sieht man recht schnell, warum es nicht funktioniert:
Code: Alles auswählen
[Programme\Console]|9> liste = in_file.read()
[Programme\Console]|10> liste
<10> '["String1","String2","String3"] \n'
Du musst in der Textdatei die Strings nicht schon als Liste eingeben, um dann eine Liste daraus zu machen.
Wenn in der Textdatei einfach : String1, String2, String 3 steht, sieht das alles folgender Maßen aus:
Code: Alles auswählen
[Programme\Console]|16> in_file = open(datei,"r")
[Programme\Console]|17> liste = in_file.read()
[Programme\Console]|18> liste
<18> 'String1,String2,String3 \n'
[Programme\Console]|26> liste_neu= liste.strip(" \n")
[Programme\Console]|27> liste_neu
<27> 'String1,String2,String3'
[Programme\Console]|28> liste_fertig = liste_neu.split(",")
[Programme\Console]|29> liste_fertig
<29> ['String1', 'String2', 'String3']
Hoffe, dass hilft die irgendwie weiter.
Wenn du die Form, wie es in der Text-Datei steht, aber nicht ändern kannst, musst halt die [] entfernen. Du brauchst die Strings in der Textdatei auch nicht extra noch in "" schreiben, da sie eh als Strings gelesen werden.
EDIT: ups, da war ich wohl zu langsam.