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

如何将python脚本的输出存储在变量中,python,Python,我有一个python脚本“script1.py”,它在执行结束时创建一个字典“out_dict”。我从另一个脚本“script2.py”调用“script1.py” 有没有办法只将最后一个字典“out_dict”(注意:我在'scirpt1.py'中也有一些print语句)放入'script2.py'中的变量中 脚本1.py ...... ...... some print statement ...... some print statement ...... out_dict = {...}

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

有没有办法只将最后一个字典“out_dict”(注意:我在'scirpt1.py'中也有一些print语句)放入'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")

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

函数py

def myFunc():
    return 2
import func

val = func.myFunc()
print(val)
def function():
    out_file=dict()
    # Your Code
    return out_file
import func
val = func.function()
在要调用函数的脚本中,必须执行以下操作:

main_script.py

def myFunc():
    return 2
import func

val = func.myFunc()
print(val)
def function():
    out_file=dict()
    # Your Code
    return out_file
import func
val = func.function()

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

函数py

def myFunc():
    return 2
import func

val = func.myFunc()
print(val)
def function():
    out_file=dict()
    # Your Code
    return out_file
import func
val = func.function()
在要调用函数的脚本中,必须执行以下操作:

main_script.py

def myFunc():
    return 2
import func

val = func.myFunc()
print(val)
def function():
    out_file=dict()
    # Your Code
    return out_file
import func
val = func.function()

有两种方法:

  • 将输出字典存储在另一个文件中,然后由script2.py读取
  • 正如丹尼尔所建议的,使用记号笔。这将消除另一个文件的负担,但您需要一个适当的标记

  • 有两种方法:

  • 将输出字典存储在另一个文件中,然后由script2.py读取
  • 正如丹尼尔所建议的,使用记号笔。这将消除另一个文件的负担,但您需要一个适当的标记

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

    函数py

    def myFunc():
        return 2
    
    import func
    
    val = func.myFunc()
    print(val)
    
    def function():
        out_file=dict()
        # Your Code
        return out_file
    
    import func
    val = func.function()
    
    main.py

    def myFunc():
        return 2
    
    import func
    
    val = func.myFunc()
    print(val)
    
    def function():
        out_file=dict()
        # Your Code
        return out_file
    
    import func
    val = func.function()
    

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

    函数py

    def myFunc():
        return 2
    
    import func
    
    val = func.myFunc()
    print(val)
    
    def function():
        out_file=dict()
        # Your Code
        return out_file
    
    import func
    val = func.function()
    
    main.py

    def myFunc():
        return 2
    
    import func
    
    val = func.myFunc()
    print(val)
    
    def function():
        out_file=dict()
        # Your Code
        return out_file
    
    import func
    val = func.function()
    

    script1.py的开头添加

    将pickle作为p导入
    
    在你的dict被创建之后,添加

    带有open('dict.p','wb')和f:
    p、 转储(输出目录,f)
    
    然后在
    script2.py
    中再次导入pickle,但这次从文件加载

    导入操作系统
    进口泡菜为p
    val=os.system(“python3.6 script1.py”)
    以open('dict.p','rb')作为f:
    你的dict=p.load(f)#你的dict将被加载
    

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

    script2.py
    示例:

    导入脚本1
    your_dict=script1.out_dict#第一个脚本中的dict变量
    打印(输出)
    
    script1.py的开头

    将pickle作为p导入
    
    在你的dict被创建之后,添加

    带有open('dict.p','wb')和f:
    p、 转储(输出目录,f)
    
    然后在
    script2.py
    中再次导入pickle,但这次从文件加载

    导入操作系统
    进口泡菜为p
    val=os.system(“python3.6 script1.py”)
    以open('dict.p','rb')作为f:
    你的dict=p.load(f)#你的dict将被加载
    

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

    script2.py
    示例:

    导入脚本1
    your_dict=script1.out_dict#第一个脚本中的dict变量
    打印(输出)
    
    您可以打印输出吗?您可以在
    打印(输出)
    之前插入类似
    打印(“标记”)
    的内容,然后在此标记字符串上拆分
    val
    ,并仅使用拆分的第二个字段。既然两个脚本都是Python语言,那么将一个脚本导入另一个脚本,然后直接传递字典不是更容易/更好吗?您可以打印输出吗?您可以在
    print(输出)之前插入类似
    print(“标记”)
    然后在此标记字符串上拆分
    val
    ,并仅使用拆分的第二个字段。鉴于这两个脚本都是用Python编写的,只需将其中一个脚本导入另一个脚本,然后直接传递字典,不是更容易/更好吗?