Используйте os.path.join()
внутри glob.glob()
. Кроме того, если все ваши изображения имеют определенное расширение (например, jpg ), вы можете заменить '*.*'
на '*.jpg*'
, например.
Solution
import os, glob
files = glob.glob(os.path.join(path,'train/*.*'))
На самом деле, вы можете просто сделать следующее, используя только библиотеку os
, так как вы не выбираете какой-либо конкретный тип расширения файла.
import os
files = os.listdir(os.path.join(path,'train'))
Некоторые объяснения
Метод os.path.join()
здесь помогает вам объединить несколько папок вместе, чтобы создать путь. Это будет работать независимо от того, работаете ли вы в системе Windows / Mac / Linux. Но для окон разделитель пути равен \
, а для Mac / Linux - /
. Таким образом, отсутствие os.path.join()
может создать неразрешимый путь для ОС. Я бы использовал glob.glob
, когда я заинтересован в получении некоторых конкретных типов (расширений) файлов. Но glob.glob(path)
требует правильного пути для работы. В моем решении os.path.join()
создает этот путь из компонентов пути и передает его в glob.glob()
.
Для большей ясности предлагаю ознакомиться с документацией для os.path.join
и glob.glob
.
Также см. pathlib
модуль для манипуляции путями в качестве альтернативы os.path.join()
.