Python

时间:2016-11-09 21:00:31

标签: python luigi

我正在使用与Linux终端交互的Python3.4 Luigi管道,我需要接受用户输入。我的代码如下所示:

test = input("Enter data: ")
logger.info(test)

Class One{...}
Class Two{...}
Class Three{...}

我希望终端在"Enter data: "之后不打印任何内容,但它会不断用调试信息更新终端(即要求调度程序进行工作,等待Class One完成),这样用户就无法输入输入。有没有办法阻止终端打印,直到用户输入?

由于

更新

即使用户没有输入输入,似乎也会执行第一类。我不确定为什么会这样,。,,

1 个答案:

答案 0 :(得分:1)

我认为为脚本和任务分别创建单独的文件并以这种方式触发主要任务会更好。想法是读取用户输入,如果它不是空的,则运行所需的任务。

import luigi
from my_tasks import MyTask

if __name__ == "__main__":
    test = input("Enter data: ")
    if test:
        luigi.build([MyTask1(123, "foobar")], local_scheduler=False)

至少有另一种以编程方式实例化和运行Luigi任务的方法,您可以在this answer中看到。