Gibt es eine gute Möglichkeit, ein Python-Wörterbuch im Datenspeicher zu speichern? Ich möchte etwas wie das Folgende tun:
%Vor%Natürlich funktioniert diese letzte Zeile nicht wirklich. Ich brauche Hops, um eine Liste der Schlüssel-Wert-Paare zu sein, wobei der Schlüssel immer eine Zeichenkette ist und der Wert eine Zeichenkette, int oder float sein kann, aber ich sehe nichts darin würde mir erlauben, das in der Eigenschaftsklassen .
Das Serialisieren eines Dict mit repr
ist ein guter Weg, dies zu tun. Sie können es dann mit eval
wiederherstellen oder, wenn Sie den Daten nicht vertrauen, ein " safe eval " .
Ein Vorteil gegenüber dem Beizen ist, dass die Daten in der Datenbank lesbar sind, sogar in verzweifelten Fällen abfragbar.
Sie könnten das Wörterbuch pickern und es als StringProperty speichern.
Ich bin mir ziemlich sicher, dass es keine Möglichkeit gibt, ein Python-Wörterbuch zu speichern. Aber warum nicht einfach als zweites Modell Hops platzieren?
Auch, wie von John erwähnt, könnten Sie Pickle verwenden, aber (und korrigieren Sie mich, wenn ich falsch liege) speichern Sie es als Blob Wert stattdessen.
Ihre Optionen bestehen im Grunde darin, Pickle zu verwenden, ein db.Expando zu verwenden und jedem Schlüssel im dict eine separate Eigenschaft zu geben, oder eine StringListProperty von Schlüsseln und einem der Werte und zip () zurück zu einem dict beim Lesen zu haben .
Tags und Links python dictionary google-app-engine google-cloud-datastore