首页 > 解决方案 > 如何将python脚本的输出存储在变量中

问题描述

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

有没有办法只将最终字典“out_dict”(注意:我在“scirpt1.py”中也有一些打印语句)放入“script2.py”中的变量中。

脚本1.py

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

脚本2.py

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

标签: python

解决方案


在开始script1.py添加

import pickle as p

并在您的 dict 创建后添加

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

或者

您根本无法将 dict 保存到文件中,而只能从script1.py类 var 中访问它,但是您必须导入您的第一个脚本。

script2.py例子:

import script1

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

推荐阅读