使用stdinput或程序输入从终端运行程序

时间:2016-04-12 20:07:05

标签: python input

我有一个名为main.py

的程序

在main.py中,我做了很多事情,但这一切归结为要求输入。

当我从终端运行程序时,我希望能够运行:

python main.py input_file.txt

...将通过input_file.txt运行并在当时读取一行。

我也希望能够运行:

python main.py

...这会导致终端接受输入,当时只有一行。

我目前用于阅读输入的主要代码是:

def start_engine(self):
    """Starts the Engine, meaning polling for input"""
    print("Enter one line for each image/group with format "
          "'type width height', or 'G i, i, ...'. Exit with 'Q'. \n")

    for line in fileinput.input():
        do_something_with_line(line)

显然,使用fileinput.input()非常适合从文件中读取。但是,当我想要运行时

python main.py

并手动输入输入,我永远不会退出输入的东西。它实际上从来没有读过我的台词,我只是写进了一个死的控制台窗口"

我该怎么做?

1 个答案:

答案 0 :(得分:1)

它从标准输入读取,直到该文件关闭,这通常是通过在行的开头键入Control-D来完成的。