现在有个py文件,里面有个方法,运行方法前要加载很多参数,导致每次运行这个py文件时
都要重新加载参数,有没有什么办法只加载一次,后面再运行就不需要加载了
把加载的参数封装一个函数或者类,调用就可以,
def AA(a,b)
def aa()
return a
def bb()
return b
可以考虑在第一次加载的时候序列化这些参数,
以后再运行的时候直接反序列化
推荐模块pickle
if __name__ == '__main__':
加载参数
这样,直接运行这个py的时候,才加载参数,其它模块调用,就不执行这一段了。
然后你把需要的参数放在这个py开头,不属于任何函数内的地方,就可以定义全局变量了。再定义一个方法:
def initVal():
在这里初始化参数
你需要初始化参数或者改变参数,就调用它
推荐使用Ipython notebook,程序可以分块进行,先运行加载数据部分的代码块,然后在运行其他部分的代码,后面的代码可以反复需改运行而不需要再次加载数据
如果是一个程序里需要重复调用这个py文件,就把耗时的参数初始化拎出来,再次调用时用之前初始化的结果;
如果是这个py文件需要单独运行多次,参数持久化可能会让参数加载快点;
如果参数已经是持久化的形式,加载仍然很慢,可以考虑持久化为其他加载速度更快的文件格式。
场景不是很明确,答案仅供参考。