2

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

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

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

我希望终端在 之后不会打印任何内容"Enter data: ",但它会不断使用调试信息更新终端(即要求调度程序工作,等待一级完成),因此用户无法输入输入。有什么方法可以防止终端在接受用户输入之前打印?

谢谢

更新

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

4

1 回答 1

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 任务,您可以在这个答案中看到。

于 2016-11-10T14:32:10.750 回答