如何在内存中保持变量-PyCharm

问题描述 投票:1回答:3

在PyCharm中工作时,我经常运行代码。问题在于整个代码会操纵临时存储在excel中的数据(一旦程序启动并运行,我们会将其移至数据库中)。加载数据需要时间。

即使在程序完成运行之后,PyCharm中是否有一种方法可以将变量保留在初始内存中(无需在控制台中运行一段代码?

data = pd.read_excel(path, index_col=0)

我想避免每次运行程序时都重新加载数据。

python pandas pycharm ide
3个回答
1
投票

否,此功能尚未实现,尚无办法。


0
投票

如果不是必须要在PyCharm中工作,则可以在Jupyter笔记本中工作:https://jupyter.org/您可以将数据加载到一个单元中,然后在下一个单元中使用它。一旦执行,单元的结果将保存在内存中。


0
投票

我发现了一个肮脏的把戏-我知道这是一种非常非常Python化且不合适的方法。但这在本例中对我有用。同样,此代码仅临时用于测试,一旦我对代码满意即可将其删除。

我运行的模块如下:

data = pd.read_excel(path, index_col=0) #Data is loaded only once

while True:
    reload(TestModule)
    TestModule.test_function(data)
    input("Press Enter to rerun the test")

现在在TestModule中,我具有test_function,可以在其中重新加载我正在处理的ModyfiedModule以及要测试的任何功能。

TestModule:

def test_function(data):
    from ModyfiedModule import MyClass

    #Run bunch of tests from MyClass
    #Code to test MyClass is here

在这种情况下,我只加载一次数据,并且可以修改MyClass模块并执行TestModule中定义的各种测试,而无需每次都重新加载数据。

修改代码后,我唯一需要做的就是保存MyClass和TestModule,然后在控制台中按Enter键以重新运行测试。

© www.soinside.com 2019 - 2024. All rights reserved.