我正在尝试在.b
文件中打开图片,拿一个子部件并在另一个文件夹中写入一个新文件(同样是我的python脚本)
这是我的代码:
import numpy as np
for i in range(11):
# open and read :
filename='data/img_t'+str(i+700)+'.b'
data=np.fromfile(filename, dtype=np.float64, sep="")
data=data.reshape([9636,9636])
# take a part :
r = 2200
c = 2200
lenr = data.shape[0]/r
lenc = data.shape[1]/c
data1=np.array([data[i*r:(i+1)*r,j*c:(j+1)*c] for (i,j) in np.ndindex(lenr,lenc)]).reshape(lenr,lenc,r,c)
# write in new file :
outfn='img_part_'+str(i+700)+'.b'
out_file = open(outfn, "wb")
out_file.write(data1[1,1])
out_file.close()
我的问题是它只创建了img_part_703.b
这很奇怪......
我也试试:
data1[1,1].tofile(outfn, sep="", format="%s")
但同样的问题......
答案 0 :(得分:1)
您正在使用内部列表理解中的i
覆盖外部循环中的i
变量;我想它在listcomp的最后一次迭代后最终为3,所以你总是写入相同的文件名。