可以存储在存储器中的功能

时间:2018-10-01 07:23:13

标签: python linux ubuntu

假设我们有两个python程序。 calculate.pyshow_results.py

calculate.py程序在终端上运行时,它会向计算机内存返回一个变量(例如,名为result的列表)。当我们在终端上运行show_results.py时,它会从以前的程序中打印result

假设calculate.py的结果是列表A = [83,22]。因此,就像终端上的以下内容一样:

$:~ python3 calculate.py
-------Calculation Done--------
$:~ python3 show_results.py
83, 22

有什么建议吗?

任何答复将不胜感激。

3 个答案:

答案 0 :(得分:0)

我认为您可以将该数据存储在.json文件中。为此,您可以使用json库:

import json
with open('data.json', 'w') as outfile:
   json.dump(data, outfile)

然后,从show_results.py文件中读取它:

import json

with open('data.json') as f:
    data = json.load(f)

这里有关于Json Python库的文档: https://docs.python.org/3/library/json.html

答案 1 :(得分:0)

您不能那样做。而且没有办法解决,操作系统决定了它不在python手中。运行python my_script.py时,您将创建一个进程。只要进程运行,该进程就会拥有自己的内存空间。程序终止时,该存储器被清除。就操作系统而言,当您运行第二个脚本时,第一个脚本的执行从未发生过。

可以通过保持第一个进程运行并使用某种进程间通信方法来解决此问题。但这是困难的,没有真正的好处。如果您想要一次性的结果,只需创建一个脚本即可从第一个脚本获取结果并将其传递给第二个脚本。或者,如果您长期关注结果,则存储到文件或数据库中。

答案 2 :(得分:0)

正如@blue_note所建议的那样,从内核级别来看是不可能的。 1)您可以将第一个脚本结果存储到文件系统/数据库中,以便以后检索。 2)如果一起运行,您可以编写一个程序来处理所有这些功能,并使用一个python脚本。