python-3.x TypeError:“ZipFile”对象不可调用

ippsafx7  于 2023-06-25  发布在  Python
关注(0)|答案(3)|浏览(175)

我正在尝试将新裁剪的脑瘤图像保存到主文件夹TRAIN、TEST和VAL中的子文件夹TRAIN_CROP、TEST_CROP和瓦尔_CROP中。x_set和y_set分别包含了我想用“YES”和“NO”分开的图像。

def save_new_images(x_set, y_set, folder_name):
    i = 0
    for (img, imclass) in zip(x_set, y_set):  <---showing error here
        if imclass == 0:
            cv2.imwrite(folder_name+'NO/'+str(i)+'.jpg', img)
        else:
            cv2.imwrite(folder_name+'YES/'+str(i)+'.jpg', img)
        i += 1
># saving new images to the folder
!mkdir TRAIN_CROP TEST_CROP VAL_CROP TRAIN_CROP/YES TRAIN_CROP/NO TEST_CROP/YES TEST_CROP/NO VAL_CROP/YES VAL_CROP/NO

save_new_images(X_train_crop, y_train, folder_name='TRAIN_CROP/')
save_new_images(X_val_crop, y_val, folder_name='VAL_CROP/')
save_new_images(X_test_crop, y_test, folder_name='TEST_CROP/')```
nwsw7zdq

nwsw7zdq1#

我也面临过同样的问题,案件是通过写作解决的

from zipfile import ZipFile as zipfile

实际上,ZipFilezipfile类中的模块。

w41d8nur

w41d8nur2#

我刚刚解决了一个类似的问题。
一个常见的原因是,你已经通过一个语句将变量zip重新赋值为另一个值,如:
with ZipFile(file_name, 'r') as zip
因此,您的zip变量现在是ZipFile类的示例,而不是zip类。
要解决这个问题,只需将ZipFile调用重新分配给其他值即可
with ZipFile(file_name, 'r') as zips
应该可以
如果你使用的是GoogleColabs,你可能需要重新启动你的运行时后进行更改

n53p2ov0

n53p2ov03#

这意味着你可以用ZipFile覆盖zip内置。
一个可能的原因是你有一个像这样的导入:

from zipfile import ZipFile as zip

在这种情况下,请使用不同的别名。
另一种可能性是执行 *-import(from somemodule import *),它执行相同的操作。

相关问题