SyntaxError: can't assign to function call after switching from scipy to imageio?

SyntaxError: can't assign to function call after switching from scipy to imageio?

使用 imageio.imread 而不是 scipy.misc.imread(因为它已折旧)给我带来了问题。我想执行这样的操作,但使用 imageio:

for file_indexes in duplicates[:30]:
try:
    plt.subplot(121), plt.imshow(imread(files_list[file_indexes[1]]))
    plt.title(file_indexes[1]), plt.xticks([]), plt.yticks([])

当我尝试以下操作时出现错误

File "<ipython-input-18-2b05f47215d7>", line 4
    plt.subplot(121),img = imageio.imread(files_list[file_indexes[1]])
    ^
SyntaxError: can't assign to function call

这就是我试过的方法:

for file_indexes in duplicates[:30]:
    try:
        plt.subplot(121), img = imageio.imread((files_list[file_indexes[1]]))
        plt.title(file_indexes[1]), plt.xticks([]), plt.yticks([])

一般来说,我想把下面code中的scipy.misc.imread换成imageio.imread

for file_indexes in duplicates[:30]:
    try:
    
        plt.subplot(121),plt.imshow(imread(files_list[file_indexes[1]]))
        plt.title(file_indexes[1]), plt.xticks([]), plt.yticks([])

        plt.subplot(122),plt.imshow(imread(files_list[file_indexes[0]]))
        plt.title(str(file_indexes[0]) + ' duplicate'), plt.xticks([]), plt.yticks([])
        plt.show()
    
    except OSError as e:
        continue

使用正确语法的正确方法是什么?

初始错误位于此处:

plt.subplot(121), img = imageio.imread((files_list[file_indexes[1]]))

之前,没有赋值,只是一个简单的语句:plt.imshow(...)。现在,有一个赋值,它在简单语句列表中是不允许的。要解决此问题,您只需移动

img = imageio.imread(...)

另起一行。

但是,由于您只想从已弃用的 scipy.misc.imread 切换到 imageio.imread,只需替换

plt.imshow(imread(...))

plt.imshow(imageio.imread(...))