我目前正在使用 yaml api 创建带有kedro==15.5
的所有数据集。 我希望能够不时动态地窥视这些信息。 看来我可以通过_FrozenDatasets
对象的io.datasets
来获取此信息。 不过,我无法循环访问它或以编程方式访问它。
特定用例
具体来说,我想添加一个循环访问数据集的测试,以检查是否没有使用相同文件路径的多个目录条目。 这在不使用 eval 的情况下可能吗? 目前我认为需要做这样的事情
filepaths = {}
for entry_name in io.list()
eval(f'filepaths[{entry_name}] = io.datasets.{entry_name}'.filepath)
不幸的是,我认为AbstractDataSet
(它们都是从中定义的(没有 filepath 或构建它的配置的属性。 您可以阅读ProjectContext
配置,但这不会涵盖动态构建的数据集。