【发布时间】:2017-08-31 22:01:40
【问题描述】:
我对 Python 很陌生,我想知道是否有人可以帮助我解决这个问题。
我有一个“Train”文件夹,其中有“ball”、“chair”、“cup”、“bag”子文件夹,每个子文件夹都由它关联的图像组成。例如:
project/Train/ball/01.jpg
project/Train/chair/02.jpg
project/Train/cup/03.jpg
project/Train/bag/04.jpg
我编写了以下代码来从火车读取图像
names_path = []
training_paths = []
for name in glob.glob('/Train/**/*.jpg'):
img = cv2.imread(name)
training_paths.append(name)
对于names_path = [],我想存储当前图像的子文件夹(包、聊天、杯子、球)的名称。因此,如果循环中的第一个图像属于球,则将图像路径保存到training_paths 和“球”到names_path
我尝试过使用另一个循环,例如
for clas in glob.glob('/Train/*/'):
但是当我检查列表时,所有条目都没有。
【问题讨论】:
-
您是说要将每个
p添加到names_path吗?如果是这样,只需在现有循环中添加names_path.append(p)。 -
你从哪里运行你的 python 脚本?你已经在
Train了吗? -
如果您需要提取部分路径(如目录名称),请查看
os.path模块:docs.python.org/3/library/os.path.html -
@DrewG。不,我想将文件夹名称“ball”、“chair”、“cup”、“bag”保存在 names_path 中。因此,例如,如果第一张图像属于“球”,则将图像的路径保存到 training_paths 并将球保存到 names_path
-
@Harry.Smith 你可以添加
names_path.append(os.path.basename(os.path.basename(name))
标签: python loops machine-learning classification glob