繁体   English   中英

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

[英]How to store the output of a python script in a variable

我有一个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")

script1.py的开头添加

import pickle as p

在您的字典创建后添加

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

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

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保存到文件中,而只能像class var这样从script1.py访问它,但是您将必须导入第一个脚本。

script2.py示例:

import script1

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

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

func.py

def myFunc():
    return 2

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

main_script.py

import func

val = func.myFunc()
print(val)

有两种方法:

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

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

func.py

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

main.py

import func
val = func.function()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM