列出 Kaggle 数据集中多种格式的图像路径
List image paths of multiple formats in a Kaggle Dataset
如何在图片路径相似的Kaggle数据集中形成多种格式的图片列表?
在 Kaggle 工作,我想将图像路径转换为列表,以便我可以存储和执行操作,但找不到合适的图像遍历 Algo 来给我所需的列表结果。
图像的树是:
|-data
|-images
|-ID0
|--- img4tgh4r3.jpg
|--- img324633.png
|
.
.
|-ID1
.
.
我试过使用 ls -a
但是你如何转换这个结构并将其保存为数据类型以重用它。
import os
path = "/"
dir_list = os.listdir(path)
print("Files and directories in '", path, "' :")
# print the list
print(dir_list)
这只列出了目录,但没有列出所有图像类型。
这可以使用 Python 中的 os
或 glob
模块来完成。我建议使用 glob
,因为它可以在各种情况下促进更多功能 w.r.t 文件名。
示例代码:
import glob
from tqdm import tdqm
# The required file extensions
fetch_formats = ['png', 'jpg', 'jpeg']
# Declare an empty list for storing the file names
img_list = list()
# State the directory of interest
path = working_dir + "images/**/*."
# Fetch each type of file from the given directory
for ff in tqdm(fetch_formats, desc="Fetching the filenames"):
img_list.extend(list(glob.glob(path+ff)))
print(f"\nTotal number of images: {len(img_list)}")
注意:
- 使用
tqdm
是为了生成进度条,可以避免
*.png* would imply any filename ending with
.png`
dir\**\*.png
表示 dir
中的任何 sub-directory,其中包含名称以 .png
结尾的文件
查看 official documentation 了解更多信息
如何在图片路径相似的Kaggle数据集中形成多种格式的图片列表? 在 Kaggle 工作,我想将图像路径转换为列表,以便我可以存储和执行操作,但找不到合适的图像遍历 Algo 来给我所需的列表结果。
图像的树是:
|-data
|-images
|-ID0
|--- img4tgh4r3.jpg
|--- img324633.png
|
.
.
|-ID1
.
.
我试过使用 ls -a
但是你如何转换这个结构并将其保存为数据类型以重用它。
import os
path = "/"
dir_list = os.listdir(path)
print("Files and directories in '", path, "' :")
# print the list
print(dir_list)
这只列出了目录,但没有列出所有图像类型。
这可以使用 Python 中的 os
或 glob
模块来完成。我建议使用 glob
,因为它可以在各种情况下促进更多功能 w.r.t 文件名。
示例代码:
import glob
from tqdm import tdqm
# The required file extensions
fetch_formats = ['png', 'jpg', 'jpeg']
# Declare an empty list for storing the file names
img_list = list()
# State the directory of interest
path = working_dir + "images/**/*."
# Fetch each type of file from the given directory
for ff in tqdm(fetch_formats, desc="Fetching the filenames"):
img_list.extend(list(glob.glob(path+ff)))
print(f"\nTotal number of images: {len(img_list)}")
注意:
- 使用
tqdm
是为了生成进度条,可以避免 *.png* would imply any filename ending with
.png`dir\**\*.png
表示dir
中的任何 sub-directory,其中包含名称以.png
结尾的文件
查看 official documentation 了解更多信息