Python:将图像和关联的文件夹名称存储在列表中
Python: store image and associated folder name in a list
我是 Python 的新手,我想知道是否有人可以帮助我解决这个问题。
我有一个包含子文件夹 "ball"、"chair"、"cup"、"bag" 的文件夹 "Train",每个子文件夹都包含相关的 image.Such 为:
project/Train/ball/01.jpg
project/Train/chair/02.jpg
project/Train/cup/03.jpg
project/Train/bag/04.jpg
我写了下面的代码来从 Train 中读取图像
names_path = []
training_paths = []
for name in glob.glob('/Train/**/*.jpg'):
img = cv2.imread(name)
training_paths.append(name)
对于names_path = []
我想存储当前图像的子文件夹(bag、chat、cup、ball)的名称。因此,如果循环中的第一张图像属于球,则将图像路径保存到 training_paths
并将 "ball" 保存到 names_path
我试过使用另一个循环,例如
for clas in glob.glob('/Train/*/'):
但是当我查看列表时,所有条目都是 None。
这取决于您实际上 运行 文件的来源,但我认为您的错误是您不需要 Train
.
之前的斜杠
变化:
glob.glob('/Train/**/*.jpg')
收件人:
glob.glob('Train/**/*.jpg')
您的代码正在生成一个空列表,因此 for 循环永远不会运行。
如果 file_path
是您的图像路径,您可以通过以下方式获取目录名称:
from os import path
file_path = "project/Train/ball/01.jpg"
dir_name = path.basename(path.dirname(file_path)) # "ball"
dirname()
提取目录的路径
basename()
提取目录路径的最后一部分
- 另请参阅:https://docs.python.org/3/library/os.path.html
我是 Python 的新手,我想知道是否有人可以帮助我解决这个问题。
我有一个包含子文件夹 "ball"、"chair"、"cup"、"bag" 的文件夹 "Train",每个子文件夹都包含相关的 image.Such 为:
project/Train/ball/01.jpg
project/Train/chair/02.jpg
project/Train/cup/03.jpg
project/Train/bag/04.jpg
我写了下面的代码来从 Train 中读取图像
names_path = []
training_paths = []
for name in glob.glob('/Train/**/*.jpg'):
img = cv2.imread(name)
training_paths.append(name)
对于names_path = []
我想存储当前图像的子文件夹(bag、chat、cup、ball)的名称。因此,如果循环中的第一张图像属于球,则将图像路径保存到 training_paths
并将 "ball" 保存到 names_path
我试过使用另一个循环,例如
for clas in glob.glob('/Train/*/'):
但是当我查看列表时,所有条目都是 None。
这取决于您实际上 运行 文件的来源,但我认为您的错误是您不需要 Train
.
变化:
glob.glob('/Train/**/*.jpg')
收件人:
glob.glob('Train/**/*.jpg')
您的代码正在生成一个空列表,因此 for 循环永远不会运行。
如果 file_path
是您的图像路径,您可以通过以下方式获取目录名称:
from os import path
file_path = "project/Train/ball/01.jpg"
dir_name = path.basename(path.dirname(file_path)) # "ball"
dirname()
提取目录的路径basename()
提取目录路径的最后一部分- 另请参阅:https://docs.python.org/3/library/os.path.html