【发布时间】:2018-06-20 21:39:37
【问题描述】:
我想知道如何处理它,我从子进程获取一个变量/值到父进程。
我将子进程作为脚本运行。 父母看起来像:
import subprocess
p = subprocess.Popen('abaqus python getData.py', shell=True)
p_status = p.wait()
print b
孩子的样子:
from numpy import *
if __name__ == "__main__":
b = [0,1,2,3] # output is a list of integers
global a = b
我对 python 完全陌生。我认为问题是,我不能以这种方式存储变量并将它们“公开”给父级?我是否必须将它们写在 *.txt 或类似的文件中并使用 numpy.loadtxt() 获取它们?
【问题讨论】:
-
这是两个不同的过程。您不能像这样共享数据。你真的必须创建另一个进程吗?
-
@Jean 是啊,我必须这样做,因为 abaqus 使用他自己的 python 编译器和包“odbAccess”。有了它,我可以包装 *.odb 文件中的数据,但我无法根据需要导入包“metaplotlib”。所以我启动python编译器,通过parant运行abaqus python编译器,并希望将值返回给父级,这样我就可以从数据中制作一些图。顺便提一句。我很抱歉我的英语。
-
你从子进程返回的对象的类型是什么?
-
它是一个整数列表
-
@Jean-FrançoisFabre 知道我该如何处理吗?谢谢:)
标签: python subprocess popen