如何调用函数并且永远不会在python中再次计算?

问题描述 投票:-3回答:2

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

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

怎么做?

python serialization lazy-loading lazy-evaluation
2个回答
2
投票

我会把结果写到一个文件。哪个文件取决于函数的结果。

一种选择是写作泡菜。

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)

0
投票

将F()结果保存在XML文件中,只需在程序开头添加条件,如果XML文件存在=>加载数据,否则启动函数。

不要忘记将结果保存在F()和的文件中。

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