尝试以下:EOFError处理

时间:2015-12-22 18:19:02

标签: python arcpy grib

我试图在一组GRB文件中执行python中的extractubdataset_management工具。该工具的部分语法要求我将子数据集的数量指定为第3个参数。我遇到的问题是处理不同数量的子数据集。一个GRB文件可能有112个子集,而另一个GRB文件可能有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,该工具可以工作,但它将省略我需要的剩余子集...出于某种原因,“打破”#39;在我的剧本中不会做它应该做的事情......

0 个答案:

没有答案