eis/py/comlib/shm/test.py

45 lines
1.5 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
'''
* @Author : zoufuzhou
* @Date : 2024-09-02 16:34:37
* @Description : Fixed element pointer position.
The current pointer points to the latest element
* @LastEditTime : 2024-09-05 16:34:37
'''
from log.LogUtil import LogUtil
import struct
from shm.MemTable import MemTable
from shm.Serialization import Serialization
import logging as d
# 测试代码
if __name__ == '__main__':
LogUtil.init("app")
d.debug("test")
mm = MemTable('TRKSET', 80,100) # 初始化
# mm.clear() # 清空内存
# for i in range(51):
#
# # 打包数据
# packed_data = b'' # 初始化空字节串
#
# for data in range(1, 26):
# # 使用 struct.pack() 打包每个数据项
# packed_data += struct.pack('h', data)
# mm.push(packed_data) # 写入数据
#
# packed_data = mm.getCur()
# d.debug(f"packed_data: {struct.unpack('25h', packed_data)}")
data_tuple = ('hello','hello','hi',1,2,3,4)
serializ = Serialization('21s21s21siifi')
mm.push(serializ.serialize(data_tuple))
for i in range(mm.count()):
packed_data = mm.read(i)
#d.debug(f"packed_data: { packed_data}")
#entid,extid,stell,length,width,thick,weight = struct.unpack('21s21s21siifi', packed_data)
#d.debug(f"packed_data: { entid.decode('utf-8')},{extid.decode('utf-8')},{stell.decode('utf-8')},{length},{width},{thick},{weight}")
result = serializ.deserialize(packed_data)
d.debug(f"result:{result}")