如何通过使用subprocess.Popen()执行的命令获取对象返回

时间:2014-08-05 16:51:39

标签: python subprocess

如何通过使用subprocess.Popen()

执行的命令返回对象

我上课时说学生。我想使用subprocess.Popen()执行以下命令并访问st1

st1 = student(parameters)

我正在尝试的代码是:

Mycmd = "st1 = student(parameters)"
p = subprocess.Popen(["python"], stdout=subprocess.PIPE, stdin=subprocess.PIPE,    stderr=subprocess.STDOUT, shell=True)
return_object = p.communicate(Mycmd.encode())

1 个答案:

答案 0 :(得分:1)

如果要获取对象,则应创建一个类并实例化以获取对象。 Subprocess只能为您提供stdout内容并退出状态代码。

对于运行python命令的shell,python对象没有任何意义。

您使用的方法只有在创建student对象后,使用pickle模块对其进行序列化才有效,并且在主程序中,您可以从stdout捕获中对其进行反序列化。但我坚持认为,这不是python的使用方式。