int矩阵(字节从文件中读取),python

int矩阵(字节从文件中读取),python,python,Python,如何用从文件读取的int(字节)填充矩阵?我试过: import struct a = [] z = 1 while z <= 8: a.append([0,0,0,0,0,0,0,0]) z+=1 file = open("filename.txt", "rb") for i in range(8): for j in range(8): a[i][j] = struct.unpack("i", file.read(1)) print(a)

如何用从文件读取的int(字节)填充矩阵?我试过:

import struct
a = []
z = 1
while z <= 8:
    a.append([0,0,0,0,0,0,0,0])
    z+=1

file = open("filename.txt", "rb")

for i in range(8):
    for j in range(8):
        a[i][j] = struct.unpack("i", file.read(1))
print(a)
试图:

a[i][j] = struct.unpack("i", file.read(4))
但它确实起了作用。输出仍然是:

struct.error: unpack requires a buffer of 4 bytes
我希望它是一个整数矩阵,这样我以后可以做一些位运算。有什么想法吗?Sry如果它是重复的,但是我没有找到任何有用的东西。

您的代码是正确的(使用
文件的第行。读取(4)
),但是请检查您的输入文件。
file.read(n)
最多返回个字节。如果您的文件太短,并且没有与您尝试读取的4字节结构对齐,则会出现错误。

您的
文件是否返回4字节。
返回4字节?
struct.error: unpack requires a buffer of 4 bytes