我用PIL图像.打开在
以下是我的图像路径:loc = "./data/Flicker8k_reshaped"
当我尝试打开此路径中的图像文件时,使用以下用法将打开一个图像。在
^{pr2}$
train_filenames是一个列表,其中包含需要使用numpy数组进行矢量化的图像的文件名。在
但当我试着在循环中运行列表理解时train = np.array([np.array(Image.open(loc+"/"+fname)) for fname in train_filenames])
我得到以下错误。在---------------------------------------------------------------------------
PermissionError Traceback (most recent call last)
in ()
----> 1 train = np.array([np.array(Image.open(loc+"/"+fname)) for fname in train_filenames])
2 test = np.array([np.array(Image.open(loc+"/"+fname)) for fname in test_filenames])
3 val = np.array([np.array(Image.open(loc+"/"+fname)) for fname in val_filenames])
4
5 print(train.shape)
in (.0)
----> 1 train = np.array([np.array(Image.open(loc+"/"+fname)) for fname in train_filenames])
2 test = np.array([np.array(Image.open(loc+"/"+fname)) for fname in test_filenames])
3 val = np.array([np.array(Image.open(loc+"/"+fname)) for fname in val_filenames])
4
5 print(train.shape)
C:\Anaconda\envs\tensorflow-cpu\lib\site-packages\PIL\Image.py in open(fp, mode)
2541
2542 if filename:
-> 2543 fp = builtins.open(filename, "rb")
2544 exclusive_fp = True
2545
看起来像builtins.open(filename, "rb")
我选择了大约5个文件名并将其保存在一个不同的列表中,然后运行上面的语句并在循环中运行代码。它也起作用了。我认为“这里的错误信息是误导。”在