7

ルイージがどのように機能するかを理解しようとしていますが、アイデアは得られますが、実際の実装は少し難しいです;)これは私が持っているものです:

class MyTask(luigi.Task):

    x = luigi.IntParameter()

    def requires(self):
        return OtherTask(self.x)

    def run(self):
        print(self.x)

class OtherTask(luigi.Task):

    x = luigi.IntParameter()

    def run(self):
        y = self.x + 1
        print(y)

そして、これは失敗しRuntimeError: Unfulfilled dependency at run time: OtherTask_3_5862334ee2ます。def output(self):この問題\機能を回避するには、を使用して出力を生成する必要があると考えました。そして、ファイルに書き込まずに適切な出力を生成する方法を理解できません。たとえば、次のように言います。

def output(self):
    return luigi.LocalTarget('words.txt')

def run(self):

    words = [
            'apple',
            'banana',
            'grapefruit'
            ]

    with self.output().open('w') as f:
        for word in words:
            f.write('{word}\n'.format(word=word))

ドキュメントを読んでみましたが、出力の背後にある概念がまったくわかりません。画面のみに出力する必要がある場合はどうすればよいですか。オブジェクトを別のタスクに出力する必要がある場合はどうすればよいですか? ありがとう!

4

1 に答える 1