1

我正在尝试在 python 中对一组 GRB 文件执行 extractsubdataset_management 工具。该工具的部分语法要求我将子数据集的数量指定为第三个参数。我遇到的问题是处理不同数量的子数据集。一个 GRB 文件可能有 112 个子集,而另一个可能有 114 个。我的代码执行提取,但是如果我指定更多的子集,则在未接收到输入时会出错...

import os
import arcpy

path = "C:/CHRIS/testfolder/testgrib"
gribs = os.listdir(path)
grib = gribs

os.chdir(path)
print os.getcwd()

grb = arcpy.env.workspace = "C:/CHRIS/testfolder/testgrib"

for item in gribs:
    print item
    os.mkdir(os.path.join(path, item + '.subdata'))
    folder = path + "/" + item + ".subdata"
    for i in range(0,115):
        numb=str(i)
        try:
            arcpy.ExtractSubDataset_management(item, folder + "/test" + numb + ".tif", numb)
        except EOFError:
            break

我的问题是......有没有比我目前使用的更好的方法来处理 EOFError 异常?我希望该工具接收错误,中断当前输入并移至下一个 GRB 文件...我不断收到 EOFError:现有连接被远程主机强行关闭...如果我限制我的范围为 112,该工具可以工作,但它会忽略我需要的剩余子集......出于某种原因,“Break”在我的脚本上下文中没有做它应该做的事情......

4

0 回答 0