如何通过使用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())
答案 0 :(得分:1)
如果要获取对象,则应创建一个类并实例化以获取对象。 Subprocess只能为您提供stdout内容并退出状态代码。
对于运行python
命令的shell,python对象没有任何意义。
您使用的方法只有在创建student
对象后,使用pickle
模块对其进行序列化才有效,并且在主程序中,您可以从stdout捕获中对其进行反序列化。但我坚持认为,这不是python的使用方式。