Python--ZODB
来源:互联网 发布:淘宝助理登入验证 编辑:程序博客网 时间:2024/05/22 13:40
zodb是python自带的对象数据库,以kv的形式存放对象状态。可以存放简单类型与复杂类型。例子:
from persistent import Persistent
from ZODB import FileStorage, DB
import transaction
from elec_rate_server.data.measurepoint import MeasurePoint
from elec_rate_server.electools.meterpowertype import MeterPowerType
class DescHandler(object):
def __init__(self, info_path):
self.info_path = info_path
def zodb_init(self):
'''数据库初始化'''
self.storage = FileStorage.FileStorage(self.info_path)
self.db = DB(self.storage)
self.connection = self.db.open()
self.dbroot = self.connection.root()
def zodb_finit(self):
'''数据库关闭'''
self.connection.close()
self.db.close()
self.storage.close()
def save_desc_info(self, func_index, users, transgroups, relations):
'''存放对象'''
self.zodb_init()
result_mps = list()
for user in users:
for mp in user.get_measure_pos_list():
result_mps.append(mp)
'''对象可以是list'''
self.dbroot[func_index] = result_mps
transaction.commit()
self.zodb_finit()
def get_desc_info(self):
'''获取对象数据'''
self.zodb_init()
for key in self.dbroot.keys():
proc_results = self.dbroot[key]
if isinstance(proc_results, list):
print(str(key)+' 打印中间结果:')
for mp in proc_results:
if isinstance(mp, MeasurePoint):
print("group_no:", mp.group_no)
if isinstance(mp.get_write_power(), MeterPowerType):
print(" power:", mp.get_write_power().get_e())
self.zodb_finit()
0 0
- Python--ZODB
- python访问ZODB数据库
- Python之对象数据库ZODB
- ZODB - a native object database for Python
- ZODB 入门
- ZODB入门 -- 如何通过面向对象的动态语言 Python 使用对象数据库
- Using WebDav to connect to Plone ZODB
- how to manually traverse the ZODB tree in your code to locate objects by their path?
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- 【程序员宝典】递归
- SSD 之OP预留空间
- AJAX原理
- STL学习笔记之小结
- ABAP--字符串变量和字符变量的区别
- Python--ZODB
- Android bitmap OutOfMemory 避免措施
- 1.GetModuleHandle 获取一个特定的应用程序或动态链接库的模块句柄
- 好贴收藏-cygwin下安装包
- log
- nginx共享内存
- 【深度探索C++对象模型读书笔记】【第7章】站在对象模型的尖端
- struts2接收参数的几种形式
- STM32串口悬空导致CPU持续进入中断函数