如何从 nodes.py 文件中的 Class 执行 运行 函数?

How to run functions from a Class in the nodes.py file?

我想在 nodes.py 文件中按 Classes 组织节点函数。例如清洗数据相关的函数在"CleanData"Class中,带有@staticmethod装饰器,而其他函数将留在"Other"Class中,没有任何装饰器(这些 类 的名称仅具有代表性)。在管道文件中,我尝试导入 类 的名称、节点的名称以及以下方式:CleanData.function1(出现错误)和其中的 none 有效。如果可能的话,如何从 类 调用节点?

我不完全确定你得到的错误是什么。如果你真的想做 from .nodes import CleanData.function1 那是行不通的。导入不像 Python 那样工作。如果你这样做:

nodes.py 有:

class CleanData:
    def clean(arg1):
        pass

pipeline.py有:

from kedro.pipeline import Pipeline, node
from .nodes import CleanData

def create_pipeline(**kwargs):
    return Pipeline(
        [
            node(
                CleanData.clean,
                "example_iris_data",
                None,
            )
        ]
    )

应该可以。