Variable in datei speichern?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Tomek
User
Beiträge: 12
Registriert: Mittwoch 27. Februar 2008, 13:49

Donnerstag 28. Februar 2008, 14:46

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.
Pablo Escobar
User
Beiträge: 21
Registriert: Montag 12. November 2007, 15:15
Wohnort: Stuttgart

Donnerstag 28. Februar 2008, 14:54

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
Zando
User
Beiträge: 37
Registriert: Sonntag 9. Juli 2006, 17:18

Donnerstag 28. Februar 2008, 14:54

http://www.thomas-guettler.de/vortraege ... hrung.html

-> nach pickle suchen, damit kannst du auch komplexere Datenstrukturen speichern/laden
BlackJack

Donnerstag 28. Februar 2008, 15:04

@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.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Donnerstag 28. Februar 2008, 15:06

Oh. C++.

Och, Python lässt sich in C++ einbetten ;)
Zando
User
Beiträge: 37
Registriert: Sonntag 9. Juli 2006, 17:18

Donnerstag 28. Februar 2008, 15:28

Hmm, zu schnell geantwortet/gelesen...

Und C++ hat kein Pickle? Die armen armen C++ler, wie halten die das nur aus? :roll:
Tomek
User
Beiträge: 12
Registriert: Mittwoch 27. Februar 2008, 13:49

Freitag 29. Februar 2008, 15:16

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?
BlackJack

Freitag 29. Februar 2008, 16:05

Hast Du Dir JSON angeschaut?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 29. Februar 2008, 16:28

Tomek hat geschrieben:C++ hat keine dictonaries meineswissens.
Die STL hat hash_map, was so wie Pythons Dictionaries funktionieren sollte.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Freitag 29. Februar 2008, 17:06

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
Antworten