0
我想写一个Python脚本:与循环subprocess.call()Python的错误
读取所有子目录中的目录(这是循环1)
读取当前图像在子目录(不是循环,因为它只有一个 图像)
阅读此影像后,修复的东西,它在当前的子目录中写入新的图像 。
所有这一切都OK,但是当我尝试这个新的映像运行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)
你的缩进到处都是......是代码实际上看起来如何? (因为如果是这样,它甚至不会运行,但会给你一个'IndentationError')。 –
你为什么使用'shell = True'?您没有使用任何shell功能,您唯一要做的就是继续打开安全漏洞。另外,如果你想检查stdout,你可以使用'subprocess.check_output'(注意,在'subprocess.call'中文档明确指出*避免*设置'stdout = PIPE',因为这可能导致死锁!)。 – Bakuriu