我想编写一个Python脚本:
读取目录中的所有子目录(这是循环1)
读取子目录中的当前图像(不是循环,因为它只有一个 图像)
阅读此图片后,修复并将其写入新图像 在当前子目录中。
所有这一切都没问题,但是当我尝试使用这个新图片运行subprocess.call()
时,我遇到了一个问题:
新图片 - > subporcess.cal() - >新形象2
从python脚本生成的'new image 2'在打开时会出错(但如果我尝试通过命令行运行或没有遍历子目录,则可以正常工作)。
这是我上面描述的代码:
for dayFolder in listDayFolder:
output_dataset.GetRasterBand(1).WriteArray(data1)
warp = "gdalwarp -t_srs '+proj=longlat +datum=WGS84 +no_defs' -ot Float32 -tps mecrator.tif " + fileName + ".tif";
pipe = subprocess.call([warp], stdout=subprocess.PIPE, shell=True)
答案 0 :(得分:0)
我的猜测是,问题在于fileName
未被重新分配。我敢打赌,如果在致电print warp
之前致电subprocess.call
,您会注意到同一命令的大量重复。也许你是这个意思:
warp = "gdalwarp -t_srs '+proj=longlat +datum=WGS84 +no_defs' "+
"-ot Float32 -tps mecrator.tif " + dayFolder + "/" + fileName + ".tif"