Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将大型对象保留在内存中的同时更改代码_Python - Fatal编程技术网

在Python中将大型对象保留在内存中的同时更改代码

在Python中将大型对象保留在内存中的同时更改代码,python,Python,我有一个应用程序,它首先从磁盘加载一个大的pickled trie(173M),然后使用它进行一些处理。我经常对处理部分进行更改,这很不方便,因为加载trie大约需要15分钟。我正在寻找一种方法来消除测试期间的重复加载,因为trie从未改变 我不能做的一件事是使用更小版本的trie 到目前为止,我的想法是memcached,并将trie转换为一个web服务,它接受查询并返回我需要的数据 我要寻找的是一条最省力的路径,在这种情况下,我可以重复更改和重新加载处理代码,同时保持对内存中trie的访问。

我有一个应用程序,它首先从磁盘加载一个大的pickled trie(173M),然后使用它进行一些处理。我经常对处理部分进行更改,这很不方便,因为加载trie大约需要15分钟。我正在寻找一种方法来消除测试期间的重复加载,因为trie从未改变

我不能做的一件事是使用更小版本的trie

到目前为止,我的想法是memcached,并将trie转换为一个web服务,它接受查询并返回我需要的数据


我要寻找的是一条最省力的路径,在这种情况下,我可以重复更改和重新加载处理代码,同时保持对内存中trie的访问。直接引用树会更好,因为这将需要最少的代码更改,但实际上我希望最小化总体工作量。

您可以尝试使用Pythons内置方法或项目。

重新加载的常见问题是实例绑定到类的旧版本。如果不保留旧实例,
reload
很简单,效果也很好。

对-我假设情况就是这样,并修改了我的代码,在重新加载后在重新加载的模块中构造一个类的新实例。这是模块中我唯一需要的部分,而且我只需要一个,所以它工作得很好。数据库不能工作有什么特别的原因吗?我想不出它能工作的原因。