如何恢复python日期util.rrule来自字典字符串的对象?

2024-04-25 14:09:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想储存日期util.rrule对象,并在从数据库中读取后重新创建它们。在

考虑到以下问题,我想我需要一个变通方法。 Python dateutils print recurrence rule according to iCalendar format (see RFC 5545)

我在考虑将myrrule的输出以字符串的形式存储到数据库中,然后在需要时重新创建rrule对象。在

这就是dict的样子:

{'_cache_complete': False, '_byhour': (0,), '_wkst': 0,
'_timeset': (datetime.time(0, 10),), '_bysecond': (0,),
'_bymonthday': (), '_byweekno': None, '_bysetpos': None,
'_cache': None, '_bymonth': None, '_bynweekday': ((4, 3),),
'_tzinfo': None, '_byyearday': None, '_byweekday': None,
'_byminute': (10,), '_len': 10, '_until': None,
'_bynmonthday': (), '_dtstart': datetime.datetime(2012, 10, 13, 0, 10),
'_count': 10, '_freq': 1, '_interval': 1, '_byeaster': None}

这是个好主意吗?还有其他建议吗?在

如何从字典中恢复python对象? python setattr()是我的最佳选择还是有更简单的方法?在

我应该考虑用这种东西代替吗? https://stackoverflow.com/a/1305663/161628


Tags: to对象none数据库cachedatetimeutilrule
1条回答
网友
1楼 · 发布于 2024-04-25 14:09:28

您需要的是python的pickle模块。pickle模块是一个简单的序列化模块,可以将任何python对象转换为字符串。稍后可以将字符串反序列化回原始对象。在

import pickle
serial_str = pickle.dumps(your_rrule_object)
db.store(serial_str)
...
serial_str = db.retrieve()
new_rrule_object = pickle.loads(serial_str)

查看pickle模块的文档以了解更多详细信息。在

相关问题 更多 >