将函数返回到luigi输出方法

问题描述

我正在尝试返回输入zip存档的路径。我被困在实现luigi输出方法上:

def get_zip_path() -> str:
    input_zip = ''
    with open("/input/index.json","r") as input_index:
        json_str = json.load(input_zip)   
        input_zip = json_str["source"]
    return input_zip

class Input(luigi.Task):
"""
Unpack dicom zip archive to workdir
"""
    @property
    def zip_path():
        return get_zip_path()

    def output(self):
        return luigi.LocalTarget(self.zip_path())

我希望类Input()返回方法输出zip路径“ /input/zipfile.zip”的字符串,但出现错误

TypeError: zip_path() takes 0 positional arguments but 1 was given

解决方法

这是python错误,而不是luigi

的问题

尝试一下:

    @property
    def zip_path(self):
        return get_zip_path()