【问题标题】:Trying to work around unbound local error尝试解决未绑定的本地错误
【发布时间】:2016-10-07 08:22:37
【问题描述】:

我在很多地方都看到过这个问题,但到目前为止,我找不到为什么我不断收到错误的答案。

我正在定义一个工具如下:

def SumRasList (RasVar, Output):
    RasList = arcpy.ListRasters(RasVar, "TIF")
    print RasList
    i = 0
    for Ras in RasList:
        Rasters = Raster(Ras)
        if i == 0:
            OutRas = Rasters
            i += 1
        else:
            OutRas = OutRas + Rasters
    OutRas.save(Output)

错误告诉我在分配之前引用了 OutRas。

希望这足以让你们任何人帮忙看看问题可能是什么。

【问题讨论】:

    标签: pyscripter


    【解决方案1】:

    您的问题是范围界定问题之一。第一次通过第一个分支,然后第二次进入第二个分支,但不知道第一个分支的范围。

    简单的解决方案是在引入分支之前处理这个问题。

    from arcpy import ListRasters, Raster
    
    
    def sum_ras_list(pattern, output):
        ras_list = ListRasters(pattern, "TIF")
    
        if not ras_list or not len(ras_list):
            print("You found no data")
            return
    
        # Work with the first piece of data
        out = Raster(ras_list.pop(0))
    
        # Work with the rest of the data
        for ras in ras_list:
            out = out + Raster(ras)
            out.save(output)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-05
      • 2021-05-03
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多