Popen stdout如何返回对象

时间:2018-11-22 10:18:25

标签: python

我有一个python脚本(test.py),它将调用另一个python脚本(x.py)做某事,我希望x.py可以将对象“ Person”返回到{{1} }。

test.py

test.py

x.py

cmd= "python /usr/example/x.py"
command= Popen(cmd, shell=True, stdout=PIPE, stdin=PIPE, stderr=PIPE)

有什么方法可以存档我的目标?

非常感谢。

2 个答案:

答案 0 :(得分:0)

解决方案:

1使用json return并将其读回对象

2是否可以尝试在x.py中导入函数或类,并且您可以将func作为本机func或类运行

3如果我不认为自己在另一台计算机上运行,​​我强烈建议使用paramiko库

答案 1 :(得分:0)

引用: 这是转储到json

的方法
class Foo(object):
    def __init__(self):
        self.x = 1
        self.y = 2

foo = Foo()
s = json.dumps(foo) # raises TypeError with "is not JSON serializable"

s = json.dumps(foo.__dict__) # s set to: {"x":1, "y":2}

这是回读它的方法:

class Foo(object):
    def __init__(self,*kwags):
        if kwags == None:
            self.x = 1
            self.y = 2
        else:
            self.x = kwags.get("x")
            self.y = kwags.get("y")    
foo = Foo(json.loads("{"x":1, "y":2}"))

来自:class serieslization