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

How to keep variable in memory - PyCharm

我 运行 在 PyCharm 工作时经常编写代码。问题是整个代码操作临时存储在 excel 中的数据(一旦程序启动和 运行,我们将把它移动到数据库)。加载数据需要时间。

在 PyCharm 中有没有办法在程序完成 运行 后将变量保留在初始内存中(无需 运行 控制台中的一段代码)?

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

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

不,这个功能还没有实现,也没有办法实现。

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

我发现了一个卑鄙的把戏 - 我知道这是一种非常非常非 pythonic 的方式,而且不合适。但在这个例子中它对我有用。同样,此代码仅暂时用于测试,一旦我对代码感到满意,就会将其删除。

模块一运行如下:

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 和我想测试的任何功能。

测试模块:

def test_function(data):
    from ModyfiedModule import MyClass

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

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

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