Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试循环遍历我的文件夹(即目录)中的每个tif图像_Python_Loops - Fatal编程技术网

Python 尝试循环遍历我的文件夹(即目录)中的每个tif图像

Python 尝试循环遍历我的文件夹(即目录)中的每个tif图像,python,loops,Python,Loops,试图循环遍历我的文件夹(即目录)中的每个tif图像,它会打印,但似乎无法在每个图像中运行该功能。我是python新手,希望您能给予我帮助 Result = [] def calculation_A(filename): data = gdal.Open(filename) band = data.GetRasterBand(1) arr = band.ReadAsArray() rows = len(arr) cols = len(arr[0])

试图循环遍历我的文件夹(即目录)中的每个tif图像,它会打印,但似乎无法在每个图像中运行该功能。我是python新手,希望您能给予我帮助

Result = []

def calculation_A(filename):
    data = gdal.Open(filename)

    band = data.GetRasterBand(1)
    arr = band.ReadAsArray()
    rows = len(arr)
    cols = len(arr[0])

    temp = []
    r_temp = []
    for i in range(rows):
        for j in range(cols):
            if arr[i][j] > -200:
                temp.append(arr[i][j])
                r_temp.append(np.asarray(temp).mean())
                r_temp.append(np.asarray(temp).min())
                r_temp.append(np.asarray(temp).max())
    return r_temp

directory = "C:/Users/valeria.briones/Desktop/New folder/Tmax"
for filename in os.listdir(directory):
    if filename.endswith(".tif"):
        print(filename)
        Result.append(calculation_A(filename))
print(Result) 

看起来您的代码缺少适当的缩进。如果
print(filename)
之后的代码也应该在循环中,您应该将其保持在相同的缩进级别。而且您的print语句在return语句之后?你也做了两次计算吗?不,只是一次通过所有的文件,我添加打印主要是为了看看它是否有效