我需要锁定一个文件以便用Python编写.它将同时从多个Python进程访问.我在网上找到了一些解决方案,但大多数都失败了,因为它们通常只基于Unix或基于Windows.
我正在开始一个新的科学项目,它有大量的数据(数百万条目),我想以一种简单快捷的格式存储.我遇到了许多不同的潜在选择,但我不确定如何从中挑选.我的数据可能只是存储为字典,或者可能是字典字典.一些潜在的考虑:
我并不太关心存储的大小,但如果选项在这方面真的很糟糕,那可能是一个考虑因素.此外,如果它很重要,我很可能会创建一次数据库,然后只读取它.
我开始关注的一些潜在选项(参见这篇文章):
有关哪些可能更适合我的目的的任何建议?有更好的想法吗?其中一些有后端; 关于哪个文件系统后端最好的建议?
我一直在寻找一个python模块,它提供了一个具有以下功能的memoize装饰器:
我发现了几个小的代码段用于这个任务,很可能实现一个自己,但我宁愿有一个既定的软件包这一任务.我也发现了incpy,但这似乎不适用于标准的python解释器.
理想情况下,我希望functools.lru_cache在磁盘上加上缓存存储.有人能指点我这个合适的套餐吗?
我写了一个小课程来持续记住一些昂贵的函数,这些函数对随机网络进行各种统计分析.
这些都是纯粹的功能; 所有数据都是不可变的.但是,某些函数将函数作为参数.
基于这些参数创建密钥是一个小问题,因为在Python中,函数对象相等等同于函数对象标识,即使函数实现没有改变,它也不会在会话之间保持不变.
我暂时使用函数名作为字符串来解决这个问题,但是当我开始考虑更改函数或匿名函数的实现等时,这会引发自己的一大堆问题.但我可能不是第一个担心这类事情的人.
有没有人有任何策略在Python中持久记忆函数参数的函数?
python functional-programming memoization object-persistence