如何从Python中的命令行标准输入中读取输入?

How to read input from the command line's standard input in Python?

我想用空行分隔输入,重复读取输入直到收到 2 个空行。这是预期的输入格式:

A
B
C

A B 2
A C 3
C B 4

A B 1


我试过了

for line in sys.stdin:
    node = [line]
    if line == ' ':
        cost = [line.split()]
        if line == ' ':
            distance = [line.split()]

但是它无法停止读取带有 2 个空行的输入。有什么建议吗?

这是一个非常简单的循环,可以存储您在 lines

中输入的任何内容

当最后 2 行为空时,即 lines[-1]==lines[-2]=="" 然后中断; [只需确保您至少从用户那里获取了 2 个输入,因此请检查 len(lines)>2]

lines = []
while True:
    inp = input()
    lines.append(inp.strip())
    if len(lines)>2 and lines[-1]==lines[-2]=="":
        break
print('\n'.join(lines))
A
B
C

A B 2
A C 3
C B 4

A B 1


如果不想存储所有行

lines = ['temp', 'temp']
while True:
    inp = input()
    lines[-2], lines[-1] = lines[-1], inp.strip() # this changes the second last element by last one and the last one is updated to the new line that is entered
    if lines[-1]==lines[-2]=="":
        break