在PyCharm中工作时,我经常运行代码。问题在于整个代码会操纵临时存储在excel中的数据(一旦程序启动并运行,我们会将其移至数据库中)。加载数据需要时间。
即使在程序完成运行之后,PyCharm中是否有一种方法可以将变量保留在初始内存中(无需在控制台中运行一段代码?
data = pd.read_excel(path, index_col=0)
我想避免每次运行程序时都重新加载数据。
否,此功能尚未实现,尚无办法。
如果不是必须要在PyCharm中工作,则可以在Jupyter笔记本中工作:https://jupyter.org/您可以将数据加载到一个单元中,然后在下一个单元中使用它。一旦执行,单元的结果将保存在内存中。
我发现了一个肮脏的把戏-我知道这是一种非常非常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键以重新运行测试。