python无法输入最后一行并输出

我想输入:
1 2 3
4 5 6
7 8 9
然后转化为一个矩阵mat,但每次运行结果都少了最后一行‘7 8 9’,请问是什么原因呢?
代码如下:

import sys
mat = []
while 1:
    try:
        line = sys.stdin.readline().split()
        row = list(map(int, line))  # [1, 2, 3]
        mat.append(row)  # 形成矩阵
        print(mat)
    except EOFError:
        print('break')
        break

结果如下:
图片说明

最后一行读取的时候遇到eof,如果此时跳转到except,就不执行append了
import sys
mat = []
while 1:
    try:
        line = sys.stdin.readline().split()
        row = list(map(int, line))  # [1, 2, 3]
        mat.append(row)  # 形成矩阵
        print(mat)
    except EOFError:
        row = list(map(int, line))  # [1, 2, 3]
        mat.append(row)  # 形成矩阵
        print('break')
        break

因为你输入完最后一行之后没有输入回车键

也可以改成输入空行结束。

import sys
mat = []
while 1:
    try:
        line = sys.stdin.readline().split()
        if not line:
               break
        row = list(map(int, line))  # [1, 2, 3]
        mat.append(row)  # 形成矩阵
        print(mat)
    except EOFError:
        print('break')
        break