0

我想将精益对象发送到另一台机器以执行所选方法。

我有一个像这样的课程:

class ToBeSent:
    def __init__(self, data_info):
        self.data_info = data_info
    
    def use_data_info_common(self, other_data):
        print('using data info ' + self.data_info + other_data)

    def use_data_info_SERIALIZE(self, other_data):
        print('using data info ' + self.data_info + other_data)


    def use_data_info_NOT_serialize(self, other_data):
        # some other dependencies I don't want
        print("refers to bunch of methods and dependencies I don't want" + self.data_info + other_data)

    def serialize_me(self, other_data):
        self.use_data_info_common('other' + other_data)
        self.use_data_info_SERIALIZE('something')


    def NOT_serialize_me(self, other):
        self.use_data_info_common(other)
        self.use_data_info_NOT_serialize(other)

我只想序列化一个方法serialize_me,它的所有依赖项都来自这个对象(或 super.object),而不是NOT_serialize_me它的依赖项,因为它们是用户定义的,我不能在目标机器上运行它们。

在上述情况下,我想自动检测和序列化serialize_me以及所有依赖项:

  • use_data_info_SERIALIZE
  • use_data_info_common
  • self.data_info

并删除其他所有内容:

  • NOT_serialize_me
  • use_data_info_NOT_serialize

我正在尝试使用代理getattr来记录所有调用,但它没有看到对常用方法或其他方法的任何内部调用,而且我从这个类中删减了太多。

4

0 回答 0