首页 > 解决方案 > 如何在 python 中调用函数并且不再计算?

问题描述

我有一个函数 F() 女巫需要很多时间,但总是返回相同的结果。

我希望能够跳过此调用并在下次启动程序时直接获得结果。

怎么做?

标签: pythonserializationlazy-loadinglazy-evaluation

解决方案


我会将结果写入文件。哪个文件取决于你的函数的结果是什么。

一种选择是写成泡菜。

import pickle
result = F()

with open('filename.pickle', 'wb') as pfile:
    pickle.dump(result, pfile)

下次您可以使用此代码获得结果,而不是运行您的函数 F()

with open('filename.pickle', 'rb') as pfile:
    result = pickle.load(pfile)

推荐阅读