Verschieben Sie die serialisierten Daten von Protokollpuffern in SQLite.
str
(Es wird nur als Binärdatei behandelt, unabhängig von Protobuf)
person.proto
message Person {
optional string name = 1;
optional int32 age = 2;
}
sample.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlite3
from person_pb2 import Person
if __name__ == '__main__':
#Herstellen einer Verbindung zur Datenbank und Erstellen von Tabellen
conn = sqlite3.connect(":memory:")
c = conn.cursor()
c.execute("create table people (person blob)")
p = Person(name="John Doe", age=128)
print p
#Schreiben
wb = buffer(p.SerializeToString())
c.execute("insert into people values (?)", [wb])
#Lesen
c.execute("select * from people")
rb = c.fetchone()[0]
q = Person()
q.ParseFromString(str(rb))
print q
name: "John Doe"
age: 128
name: "John Doe"
age: 128
Ich konnte lesen und schreiben.
Recommended Posts