我正在redis中存储一个枚举。当我加载它时,值是二进制的。如何将其转换为python枚举?你知道吗
示例代码:
class Position(Enum):
LEFT = 10
RIGHT = 11
current_position = Position.LEFT
r.set('current_position', Position.LEFT)
loaded_current_position = r.get('current_position_side')
print(current_position) # Position.LEFT
print(loaded_current_position) # b'Position.LEFT'
在这个例子中,我想让loaded_current_position
等于Position.LEFT
,而不是b'Position.LEFT'
存储的是枚举成员的名称。可能有特定于redis的答案,但一般来说,您可以将枚举与另一种数据类型(如
int
)混合,然后在检索时将其转换回枚举;类似于:注意:要使上述操作正常工作,redis必须保存并返回一个
int
相关问题 更多 >
编程相关推荐