Python 转换多个字符串行并将每行读取为整数

Python 转换多个字符串行并将每行读取为整数,python,Python,line.read包含 25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40 我的单线阅读器在这里 output = open('line.read', 'r') #

line.read包含

25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40
我的单线阅读器在这里

output = open('line.read', 'r')  # See the r
nodes_list = output.read().strip().split('.')
mylist = [[int(cell) for cell in row.split(',')] for row in nodes_list]
我的输出在这段代码中

['25,26,27,28,29,30,31,32', '33,34,35,36,37,38,39,40', '25,26,27,28,29,30,31,32', '33,34,35,36,37,38,39,40', '25,26,27,28,29,30,31,32', '33,34,35,36,37,38,39,40', '25,26,27,28,29,30,31,32', '33,34,35,36,37,38,39,40']
此代码只读取一行,但我想读取多行并将其转换为8x8整数数组。旧的价值观对我来说并不重要。我只想读当前行。我该怎么做?它将读取第一行,它将执行smth,然后它将查看第二行等

我的txt将是这样的

25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40.25,26,27,28,29,30,31,32.33,34,35,36,37,38,39,40
22,33,21,33,40,37,24,23.15,13,12,35,33,12,15,23.22,33,21,33,40,37,24,23.15,13,12,35,33,12,15,23.22,33,21,33,40,37,24,23.15,13,12,35,33,12,15,23.22,33,21,33,40,37,24,23.15,13,12,35,33,12,15,23
...

我可以通过查找空单元格找到它,或者我可以在我的txt文件中添加一个特殊字符,它可以知道行的结尾。但是,如果我这样做,它会将其作为字符串读取,并且还会显示所有值。它应该一行一行地这样做。谢谢你的帮助

虽然我不太清楚,但我想这就是你要找的

with open('test.txt','r') as fout:
    line = fout.readline()
    while line:
        a = [[int(col) for col in row.split(',')] for row in line.split('.')]
        print(a)
        #Do something with your list a
        line = fout.readline()
打印功能的输出:

[[25, 26, 27, 28, 29, 30, 31, 32], [33, 34, 35, 36, 37, 38, 39, 40], [25, 26, 27, 28, 29, 30, 31, 32], [33, 34, 35, 36, 37, 38, 39, 40], [25, 26, 27, 28, 29, 30, 31, 32], [33, 34, 35, 36, 37, 38, 39, 40], [25, 26, 27, 28, 29, 30, 31, 32], [33, 34, 35, 36, 37, 38, 39, 40]]
[[22, 33, 21, 33, 40, 37, 24, 23], [15, 13, 12, 35, 33, 12, 15, 23], [22, 33, 21, 33, 40, 37, 24, 23], [15, 13, 12, 35, 33, 12, 15, 23], [22, 33, 21, 33, 40, 37, 24, 23], [15, 13, 12, 35, 33, 12, 15, 23], [22, 33, 21, 33, 40, 37, 24, 23], [15, 13, 12, 35, 33, 12, 15, 23]]

最后但并非最不重要的一点是,核心Python库中没有数组。当您指的是数组时,一定要说List。

您得到的输出已经是一个8x8矩阵,这一行只是表示形式,您可以通过不同的打印方式来更改它。