Das schreiben einer Liste in eine Datei und Lesen Sie den Inhalt wieder in eine Liste mit simplejson
Möchte ich schreiben, eine Liste in eine Datei schreiben und wieder Lesen Sie den Inhalt der Datei in einer Liste.
Ich bin in der Lage, schreiben Sie die Liste, um die Datei mit simplejson wie folgt:
f = open("data.txt","w")
l = ["a","b","c"]
simplejson.dump(l,f)
f.close()
Nun zum Lesen der Datei zurück, die ich tun
file_contents = simplejson.load(f)
Aber ich denke file_contents ist im json-format. Gibt es eine Möglichkeit, Sie zu konvertieren, um eine Liste ?
Danke.
Wenn Sie drucken
Es zeigt [u 'a',u 'B',u 'C']
Das bedeutet, dass es eine Liste schon... Der Präfix
file_contents
was sehen Sie? Raten Sie nicht, tatsächlich zeigt den tatsächlichen Wert, bitte.Es zeigt [u 'a',u 'B',u 'C']
Das bedeutet, dass es eine Liste schon... Der Präfix
u
ist zu sagen, dass die strings sind unicode, aber es tut genau das, was Sie wollte...InformationsquelleAutor Tom | 2010-08-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist in der Tat ein Neuladen der Daten genau so, wie Sie angeben. Was verwirrend sein kann, ist, dass alle strings in JSON sind immer Unicode -- JSON (wie Javascript) muss nicht ein "byte-string" - Datentyp unterscheidet sich von "unicode".
Bearbeiten ich habe nicht die alten
simplejson
mehr (seit der aktuellen version hat sich ein Teil der standard Python Bibliothek alsjson
), aber hier ist, wie es funktioniert (wasjson
maskerade alssimplejson
in der Hoffnung auf die Vermeidung verwirrend!-)...:Wenn diese genauen code (ohne die ersten zwei Zeilen, wenn das, was Sie tun, sondern ist
import simplejson
natürlich;-) nicht mit dem übereinstimmt, was Sie beobachten, Sie haben einen Fehler gefunden, so ist es wichtig zu berichten, welche Versionen von Python undsimplejson
du verwendest und was genau Fehlermeldung, die Sie erhalten, komplett mit traceback (Bearbeiten Sie die Q, um dieses-offensichtlich entscheidend, -- info!).Ich lief einfach durch den genauen code für Ihre Frage auf 2.6 und ich kann anfügen, um die resultierende Liste. Auch, keine unicode-Zeichenfolgen.
Fehler" ohne Klarheit darüber, welche (Bearbeiten Sie Ihre Q zum hinzufügen traceback!) sieht aus wie ein Versuch, niemandem helfen zu können, die Sie-ebenso wie den völligen Mangel an Informationen über das, was die Python-version und simplejson version und simplejson-version, die Sie verwenden, natürlich;-). Dennoch habe ich bearbeitet meine Ein, um zu zeigen, wie der code gibt absolut keine Fehler, mich auf Python 2.6 (obwohl es natürlich geben, unicode-strings, im Gegensatz zu @aaron die erstaunliche Bemerkung in der Sache).
gibt es einen Unterschied zwischen
import json as simplejson
vs, was du getan hast? Einfach nur neugierig zu wissen, warum Sie es getan hat, Weg.kein Unterschied-ich war gerade fertig
import json
in dieser interaktiven session, bevor ich dachte, der Namen Frage, so ich befestigt es mit die minimale Anzahl von Zeichen;-).InformationsquelleAutor Alex Martelli
Den
.read_file
und.write_file
Optionen für Unipath wirklich so simpel.InformationsquelleAutor Erik