如何将python脚本的输出存储在变量中

时间:2019-07-05 10:10:27

标签: python

我有一个python脚本'script1.py',可在执行结束时创建一个字典'out_dict'。我从另一个脚本“ script2.py”调用“ script1.py”。

有什么方法可以将最终字典“ out_dict”(注意:“ scirpt1.py”中也有一些打印语句)转化为“ script2.py”中的变量。

script1.py

......
......
some print statement
......
some print statement
......
out_dict = {...}
print(out_dict)

script2.py

import os
val = os.system("python3.6 script1.py")

4 个答案:

答案 0 :(得分:1)

script1.py开头添加

import pickle as p

在创建字典后添加

with open('dict.p', 'wb') ad f:
    p.dump(out_dict, f)

然后在script2.py中再次导入泡菜,但这一次是从文件中加载

import os
import pickle as p
val = os.system("python3.6 script1.py")

with open('dict.p', 'rb') as f:
    your_dict = p.load(f)     # your dict will loaded

OR

您根本无法将字典保存到文件中,而只能像类var这样从script1.py访问它,但是您将不得不导入第一个脚本。

script2.py示例:

import script1

your_dict = script1.out_dict     # your dict var from the first script
print (out_dict)

答案 1 :(得分:0)

您需要声明2个文件。第一个将包含您要调用的函数。像这样:

func.py

def myFunc():
    return 2

在脚本中,您需要调用该函数:

main_script.py

import func

val = func.myFunc()
print(val)

答案 2 :(得分:0)

两种方法:

  1. 将输出字典存储在另一个文件中,然后由script2.py读取
  2. 如丹尼尔(Daniel)所建议,使用记号笔。这样可以减轻另一个文件的负担,但是您需要一个适当的标记。

答案 3 :(得分:0)

更简单的方法是将一个文件导入另一个文件并使用该字典

func.py

def function():
    out_file=dict()
    # Your Code
    return out_file

main.py

import func
val = func.function()