0

我正在尝试构建一个自定义界面,该界面将根据字典输入动态生成 outputspec 属性。但是,当我这样做时,输出没有出现.help()

这是我之前的内容,如果我运行help()它将显示节点的输入和输出。

class _GatherInputsOutputSpec(TraitedSpec):

    a_file = traits.Str()
    b_file = traits.Str()
    c_file = traits.Str()


class GatherInputs(SimpleInterface):

    def __init__(self, dict_a):
        super().__init__()
        self.dict_a = dict_a
        self.outputspec = _GatherInputsOutputSpec

   

但是当我尝试像下面那样动态构建 outputspec 类时,当我这样做时输出不会显示help()并且run()功能也无法正常工作。

class Context(SimpleInterface):

    def __init__(self, dict_a):
        super().__init__()
        self.dict_a = dict_a
        self.outputspec = self._outputspec_build(dict_a)

    @staticmethod
    def _outputspec_build(dict_a):
        outputspec_class = type("ConfigOutputSpec", (nipype.interfaces.base.specs.TraitedSpec, ),{'__module__': '__main__'})
        for k in dict_a.get('inputs').keys():
            setattr(outputspec_class, k, traits.Str())
            
        return outputspec_class

我是否错误地设置了属性?

4

0 回答 0