Seite 1 von 1
Variable in datei speichern?
Verfasst: Donnerstag 28. Februar 2008, 14:46
von Tomek
Ich will Informationen von wifi Paketen in eine named pipe geschrieben. Problem ist das diese Informationen in form eines dictonary vorliegen.
Frage: Wie speichere ich ein dictonary bzw. eben eine variable in eine datei? kann ich ein dict zu einen string machen? Dann könnt ich bequem mit write() reinschreiben.
Ein 2tes C++ Programm würde diese Pipe dann auslesen und die Infos als Eingabe nehmen.
Verfasst: Donnerstag 28. Februar 2008, 14:54
von audax
Verfasst: Donnerstag 28. Februar 2008, 14:54
von Pablo Escobar
Code: Alles auswählen
beispiel = {1:'A', 2:'B', 3:'C'}
>>> str(beispiel)
"{1: 'A', 2: 'B', 3: 'C'}"
wie du siehst kannst du das ganze in nen string wandeln
allerdings ist die frage in was für einer form du das ganze
in diesem file stehen haben möchtest
Verfasst: Donnerstag 28. Februar 2008, 14:54
von Zando
http://www.thomas-guettler.de/vortraege ... hrung.html
-> nach pickle suchen, damit kannst du auch komplexere Datenstrukturen speichern/laden
Verfasst: Donnerstag 28. Februar 2008, 15:04
von BlackJack
@alle die `pickle` empfohlen haben: Tomek möchte die Daten mit einem C++ Programm weiter verarbeiten.
@Tomek: Schau Dir mal
json an. Da gibt's sowohl für Python, als auch für C++ Bibliotheken für. Unten auf der Seite sind eine Menge Links zu Implementierungen in verschiedenen Sprachen.
Verfasst: Donnerstag 28. Februar 2008, 15:06
von audax
Oh. C++.
Och, Python lässt sich in C++ einbetten

Verfasst: Donnerstag 28. Februar 2008, 15:28
von Zando
Hmm, zu schnell geantwortet/gelesen...
Und C++ hat kein Pickle? Die armen armen C++ler, wie halten die das nur aus?

Verfasst: Donnerstag 28. Februar 2008, 16:55
von BlackJack
Verfasst: Freitag 29. Februar 2008, 15:16
von Tomek
danke! das str() hat schonmal bestens geklappt. und ich versuch jetzt mal diesen weg. Wobei das etwas ungeschickt ist da ich das in c code dann durchparsen muss.
Serialisieren war eigentlich genau das was ich gesucht hab, ich hab damit in c++ schon vor Jahren gearbeitet und es ist eigentlich genau das was ich brauche, habs nur vergessen

dort ist es glaub serialise() und unserialise() jedoch weis ich nicht ob dies von python nach c++ klappt. Kann ich ein dictonary "serielisiert" mit python an eine pipe/datei übergeben und mit c++ auslesen? C++ hat keine dictonaries meineswissens.
Vielleicht kann ich das diconary in "Irgendwas" anderes umkonvertieren bevor ich es serialisiere was von c++ erkannt wird?
Verfasst: Freitag 29. Februar 2008, 16:05
von BlackJack
Hast Du Dir JSON angeschaut?
Verfasst: Freitag 29. Februar 2008, 16:28
von Leonidas
Tomek hat geschrieben:C++ hat keine dictonaries meineswissens.
Die STL hat hash_map, was so wie Pythons Dictionaries funktionieren sollte.
Verfasst: Freitag 29. Februar 2008, 17:06
von CM
jupp, es gibt z. B. map, damit geht
Code: Alles auswählen
map<string, string>m;
m["eins"] = "one";
// und zurück
string x = m["eins"];
HTH
Christian