如何从命令行初始化要在多个Python调用中使用的对象

如何从命令行初始化要在多个Python调用中使用的对象,python,python-3.x,architecture,Python,Python 3.x,Architecture,我写了一个脚本,它使用了一个非常大的对象。我用pickle加载对象,但这需要几秒钟的时间。如果必须发生一次或两次,那也没什么大不了的,但我希望能使用该代码成百上千次 我认为我的问题是,我希望几乎“保持”对象的活动状态,然后能够在需要时从命令行调用它。我对Python相当陌生,所以我不确定这有多可能;对不起,如果我在问题中没有使用正确的术语。目前我正在Spyder中编写和运行python,但最终我希望在服务器上运行它,在需要时调用代码。如果脚本在python程序上循环,请将循环移到程序内 另一方面

我写了一个脚本,它使用了一个非常大的对象。我用pickle加载对象,但这需要几秒钟的时间。如果必须发生一次或两次,那也没什么大不了的,但我希望能使用该代码成百上千次


我认为我的问题是,我希望几乎“保持”对象的活动状态,然后能够在需要时从命令行调用它。我对Python相当陌生,所以我不确定这有多可能;对不起,如果我在问题中没有使用正确的术语。目前我正在Spyder中编写和运行python,但最终我希望在服务器上运行它,在需要时调用代码。

如果脚本在python程序上循环,请将循环移到程序内


另一方面,如果希望能够按需使用大型对象,则可能需要客户机/服务器配置。这是一个非常简单的实现方法。thriftpy服务器将保存对象和处理逻辑,客户端将是一个命令行脚本,它将调用服务器并传递处理对象所需的任何参数。

您需要一个可索引的数据存储。您可以使用内存中的数据存储(如redis),或者如果您希望数据更持久,可以使用数据库(如sqlite或mysql)。@blhsing您能用一点伪代码来回答我如何使用mysql/sqlite吗。。这似乎是我问题的答案!请仔细阅读Python中关于
sqlite3
模块的示例,一旦您的实现出现特定问题,请发布一个新问题。“我的脚本使用了一个非常大的对象”是一种攻击症状而不是问题。请给我们一些背景。你的脚本到底在做什么,为什么这个对象真的那么大,你怎么能把它重新构造成更小的呢?它是一个交易数据库吗?视频压缩?还有别的吗?本质上,当你分析它时,你的代码的内部循环在做什么,它接触到什么数据?@smci它基本上是一个非常大的矩阵。它不是一个稀疏矩阵,所以我不能以这种方式减少它,因为我需要对整个矩阵执行和操作,所以我不能只加载矩阵的一部分。我在矩阵上运行的操作相当平凡。