在'for'循环python中插入'with'语句

时间:2021-06-04 17:18:31

标签: python for-loop crop with-statement rasterio

我正在尝试使用 Rasterio 裁剪文件夹中的所有图像。我可以单独裁剪 1 张图像,但我不能在我的“for”语句之后嵌入/嵌套我的“with”语句,以便我可以浏览文件路径列表 - 我真的很感激任何关于我要去哪里的指针错了!

TRAIN_PATH = '/Users/Google Drive/IMG_DATA/Train/'
names = os.listdir(TRAIN_PATH)
all_paths = []
for fn in names:
    all_paths.append(os.path.join(TRAIN_PATH, fn))

我试过了:

for f in all_paths:
   with rasterio.open(f) as src:
       out_image, out_transform = rasterio.mask.mask(src, shapes, crop=True)
       out_meta = src.meta

for f in all_paths:
   src = rio.open(f)
   out_image, out_transform = rasterio.mask.mask(src, shapes, crop=True)
   out_meta = src.meta

但得到相同的错误信息: ' not recognized as a supported file format.

我使用的是 Pycharm 2021.1.1(如果这有什么区别的话)并且我省略了实际裁剪图像的其余代码,因为它是导致问题的“with”语句。

0 个答案:

没有答案
相关问题