我想知道是否可以使用 glob.glob("**/*.jpg")
来获取多个文件夹中的所有图像,但作为迭代器以避免填充内存
目前,我将以下代码与 glob 一起使用:
for file in glob.glob("**/*.jpg")[:1]:
print(file)
但我用
for model_folder in os.scandir(folder):
for model_folder_content in os.scandir(model_folder):
print(model_folder_content)
第一种方法的问题是,如果有很多文件可以填满内存而失败,所以想法是使用 scandir,因为返回一个迭代器,但可以选择使用模式。
这可能吗?
谢谢
最佳答案
您可以使用 glob.iglob() :
glob.iglob(pathname, *, recursive=False) Return an iterator which yields the same values as glob() without actually storing them all simultaneously.
关于python - glob.glob ("**/*.jpg") 作为迭代器还是延迟加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69150956/