在 glob() 中使用多于 1 个参数

Using more that 1 argument in glob()

我正在尝试使用 glob() 在名为 'dataset' 的文件夹中递归搜索以 .png 或 .jpg 结尾的文件。这是代码片段:

    for imagePath in glob.glob(args["dataset"] + "/*.png"):

我正在使用循环内的 imagePath 设置图像 ID。如何使用 2 个参数进行搜索。我知道 ',' 不起作用,因为 glob() 只接受一个参数。

一种方法可能是先创建现有文件列表,然后循环此列表

image_types = (‘/*.jpg', ‘/*.png')
image_files = []
for files in image_types:
    image_files.extend(glob.glob("dataset/" + files))

image_files #list of .jpg and .png files

如几条评论所述,glob returns 是一个列表,因此您可以简单地将列表与 + 连接起来。示例:

from glob import glob

for files in glob(args["dataset"] + "/*.png") + glob(args["dataset"] + "/*.jpg"):
    
    pass    # your file operations go here

在风格上,您可能希望使用转义换行符来防止行太长:

for files in glob(args["dataset"] + "/*.png") \
           + glob(args["dataset"] + "/*.jpg"):
    
    pass    # your file operations go here