我正在编写一个代码,其中我将把少量文件存储到内存中的数据结构中,然后在所有模块中使用该数据结构来访问该数据结构。(节省时间)
因为代码是用python编写的,而且非常大,所以很难将数据结构从函数传递到函数。
是否有可能在代码开始时存储文件到数据结构,然后在任何模块中使用该数据结构,因为该数据结构在程序执行期间驻留在内存中。
请帮帮忙。非常重要!
让我举一个例子。
main.py .这是项目的开始,这里我把完整的文件存储在数据结构中.other_module.py .....这是其他一些模块,在其中,我想访问必须驻留在内存中的数据结构,因为main.py正在执行中,它已经调用了other_module.py。
注意,我不能在other_module中存储文件到数据结构的东西,因为这样做很费时,因为这里我举了一个很小的例子,但实际上我正在处理一个更大的问题。
谢谢。
发布于 2012-04-11 06:02:52
Python变量和函数参数总是只引用对象,所以不要担心将大型数据结构作为函数参数传递:数据不会被复制,只会创建一个新的引用。
但是,如果您知道您的代码总是只处理数据结构的单个实例,则可以将其存储在全局变量中。您可以创建一个单独的模块,将数据加载到模块级变量中,并将该模块导入main.py和other_module.py。
发布于 2012-04-11 08:39:44
非常大,所以很难将数据结构从一个函数传递到另一个函数.
不,不是的。Python变量不是那样工作的。你隐式地得到一个指针。
https://stackoverflow.com/questions/10100399
复制相似问题