遍历模型中的所有组件



我有一个相当大的模型,其中的组件按层次分组,深度约为3级。对我来说,能够递归地迭代我的组件,列出输入和输出,以及所有选项值,并根据我的喜好格式化所有数据,这样我就可以用它做一个漂亮的报告,这将是非常有用的

在给定的组上调用list_inputs((和list_outputs(。

我可能会对list_inputs((本身的工作方式进行逆向工程,但我想知道是否有一种简单的方法可以做到这一点

如前所述,list_inputslist_outputs都是在System类上定义的方法。虽然这些方法确实按组件对其打印结果进行了分组,但挑战在于首先要获得所有输入,然后再获得所有输出。您不能轻易地将单个组件的输入和输出放在一起查看。

这两种方法都可以通过设置out_stream=None来关闭打印,并且每种方法都返回一个变量数据列表,您可以手动解析这些数据。不过,这可能不会给你想要的格式。

如果你想在层次结构上手动递归并编写自己的自定义报告方法,那么你应该在系统上查看以下方法(即组件和组(:

  • get_io_metadata
  • 系统标识符

这些,再加上从list_inputslist_outputs返回的数据,应该可以满足您的需要。

最新更新