ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何从字典字符串中恢复python dateutil.rrule对象?

2019-07-04 04:45:15  阅读:305  来源: 互联网

标签:python python-dateutil rfc2445 rfc5545 rrule


我想将dateutil.rrule对象存储到数据库,并在从数据库读取后重新创建它们.

鉴于以下问题,我认为我需要使用一种解决方法.
Python dateutils print recurrence rule according to iCalendar format (see RFC 5545)

我想将myrrule.dict的输出作为字符串存储到数据库中,然后在需要时重新创建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

解决方法:

你需要的是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模块的文档.

标签:python,python-dateutil,rfc2445,rfc5545,rrule
来源: https://codeday.me/bug/20190704/1373707.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有