我一直在使用我一直在研究的一些开源软件上的大型数据集(github 上的 wxStocks)。我正在分析股票,由于程序启动时所有股票都被加载到活动内存中,我认为没有理由使用数据库结构。
但是,由于我需要使用包含所有股票的全局变量列表,因此组织文件具有挑战性,因此我可以轻松地通过股票代码字符串返回股票。
我通过垃圾收集器提出了一个解决方案:
def return_stock_from_active_memory(ticker):
ticker = ticker.upper()
for obj in gc.get_objects():
if type(obj) is Stock:
if obj.symbol == ticker:
return obj
我从更有经验的 python 程序员那里得知,我什至首先导入垃圾收集器,这是在玩火,而且它被认为是非常糟糕的形式,不过,这个和我编写的另一个返回所有库存对象的函数非常有用。
上面的函数是通过唯一属性字符串在活动内存中查找对象的可接受方式吗?如果不是,我应该如何在不同文件之间移动时查找对象,而不创建无限循环将变量导入每个文件。