[我正在用python写大型矩阵,例如(2 ^ 20,2 ^ 20)。为了解决这个问题,我的方法是将每个元素及其各自的行和列写入文件中。
我试图这样解决它:
l = 20
j = 1
delt = -1
for x in range(0,2**l):
for y in range(0,l):
k = (y+1)%l
if check_nth_bit(x,y) == 0:
a = ([x,x,-j*h/2])
with open("file.txt", "w") as f:
f.write(str(a))
else:
b = ([x,x,j*h/2])
with open("file.txt", "w") as f:
f.write(str(b))
我完成的方式,只有最后一个元素写入文件中。谁能帮我吗?
将文件模式从“ w”切换为“ a”。
“ w”文件模式在每个循环中都会覆盖文件,因此您最终只能看到最终写入的结果。
“” a文件模式附加到文件,因此循环给出累积结果。
每次使用with open("file.txt", "w") as f:
时,您都将以写入模式打开文件-特别是以overwrite