FileNotFoundError: [WinError 3] Системе не удается найти указанный путь - PullRequest
0 голосов
/ 29 сентября 2019

Код:

import os
import cv2
folder = ['test images', 'ALB', 'BET', 'DOL', 'LAG', 'NoF', 'OTHER', 
'SHARK', 'YFT' ]
Path = r'D:\ncfm\train'

for i in range(9):
    listing = os.listdir(path+'/'+folder[i])
    folder[i+1] = np.array([np.array(cv2.imread(path+'/'+folder[i]+'/'+file)).flatten()
for file in listing])

Ошибка:

FileNotFoundError                         Traceback (most recent call 
last)
<ipython-input-152-d8f8c2149488> in <module>
      5 
      6 for i in range(9):
----> 7     listing = os.listdir(path+'/'+folder[i])
      8     folder[i+1] = 
np.array([np.array(cv2.imread(path+'/'+folder[i]+'/'+file)).flatten()
      9     for file in listing])

FileNotFoundError: [WinError 3] The system cannot find the path specified: 
'Users\\USER\\Desktop\\ncfmtrain\\YFT\\*.jpg/test images'

Я пытался исправить это много раз. но проблема все еще существует. Затем я попробовал этот код, который работал для меня.

import os
from os import listdir

for i in range(9):
    for fld in folders:
        index = folders.index(fld)
        print('Load folders {} (Index: {})'.format(fld, index))
        path = os.path.join('Users', 'USER' , 'Desktop','ncfm' 'train', fld, '*.jpg')
        L.append(len(path))


    break

Это работает нормально для меня. Но затем появляется следующая ошибка:

ValueError: Found input variables with inconsistent numbers of samples: [8, 3777]

Я полагаю, что они связаны.

1 Ответ

0 голосов
/ 29 сентября 2019

Использовать pathlib для доступа к файловой системе.

from pathlib import Path

jpeg_images = list(Path('D:/ncfm/train').glob('**/*.jpg'))
print(jpeg_images)
np.array([np.array(cv2.imread(str(file))).flatten() for file in jpeg_images])

Обновление:

Проверка одного файла

  • Используйте полный путь к файлу, включая букву диска.
file = Path(r'C:\Users\USER\Desktop\ncfmtrain\YFT\image_name.jpg')
print(cv2.imread(str(file))).flatten())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...