gpt4 book ai didi

Python:如何将变量保存在内存中,以便可以从其他 Python 脚本中调用它?

转载 作者:行者123 更新时间:2023-12-01 04:54:55 24 4
gpt4 key购买 nike

python中有一个名为tzwhere的模块。当我将它加载到 tz 变量中时,如下所示:-

from tzwhere import tzwhere
tz = tzwhere.tzwhere(shapely=True)

上面的行加载大约需要 45 秒,其范围是直到特定的 python session 停止。所以在这条线之后,我可以获得 tz.tzNameAt(latitude, longitude)的尽可能多的输出如我所愿,但问题是这些输出只能在那个 python shell 中快速计算。

我想让 tz 变量像 API 一样可共享,这样如果 tz 变量是从任何 python session 调用的,或者即使从任何使用 exec 命令的 java 程序调用,它也不应该需要 45 秒才能再次加载,也不应该给我 NameError: name 'tz' is not defined .

请帮忙。非常感谢你!!

最佳答案

您可能会使用 pickle可以将类实例存储在文件中的模块。

尝试这样的事情:

 from tzwhere import tzwhere
tz = tzwhere.tzwhere(shapely=True)

import pickle

# Dump the variable tz into file save.p
pickle.dump( tz, open( "save.p", "wb" ) )

加载 tz从另一个脚本只做:
import pickle

tz = pickle.load( open( "save.p", "rb" ) )

NOTE: Python 2 ONLY, will use faster version automatically if on Python3

If you are still unhappy with the speed when loading tz from another script, there is an accelerated version of pickle called cPickle

Just do:

import cPickle as pickle


欲了解更多信息,请访问此链接: https://wiki.python.org/moin/UsingPickle

关于Python:如何将变量保存在内存中,以便可以从其他 Python 脚本中调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38188144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com