0

我想编写一个 Python 脚本:

  1. 读取目录中的所有子目录(这是循环 1)

  2. 读取子目录中的当前图像(不是循环,因为它只有一个图像)

  3. 阅读此图像后,修复某些内容并将其写入当前子目录中的新图像。

这一切都很好,但是当我尝试subprocess.call()使用这个新图像运行时,我遇到了一个问题:

新图像 -> subporcess.cal() -> 新图像 2

从 python 脚本生成的“新图像 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)
4

1 回答 1

0

我的猜测是,困难在于fileName没有被重新分配。我敢打赌,如果您在 callprint warp之前先跟注subprocess.call,您会注意到同一命令的大量重复。也许你的意思是:

warp = "gdalwarp -t_srs '+proj=longlat +datum=WGS84 +no_defs' "+
       "-ot Float32 -tps mecrator.tif " + dayFolder + "/" + fileName + ".tif"
于 2013-07-13T05:02:01.117 回答