首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于递归访问文件夹,os.walk非常慢。

对于递归访问文件夹,os.walk非常慢。
EN

Stack Overflow用户
提问于 2017-12-20 12:43:07
回答 2查看 1.1K关注 0票数 2

我的数据集有超过1000个文件夹,我使用os.walk递归地访问每个文件夹中的每个图像。os.walk对少数几个文件夹很好,但是加载1000个文件夹非常慢。我需要替代的解决方案,如果有什么可以处理这个问题的话。

您可以看到类似的代码:

代码语言:javascript
运行
复制
def run(dirname, img):
    data = img.load()
    width, height = img.size
    output_img = Image.new("RGB", (100, 100))
    Zero=np.zeros(shape=(100, 100), dtype=np.uint8)

    for (x, y) in labels:
        component = uf.find(labels[(x, y)])
        labels[(x, y)] = component
        path = 'D:/Python36/Fold/'
        if labels[(x, y)] == 0:
            Zero[y][x] = 255
            Zeroth = Image.fromarray(Zero)
            Zeroth.save(os.path.join(dirname, 'Zero.png'), 'png')


def main():
    path = "D:/Python36/Fold/"
    for root, dirs, files in os.walk(path):
        for file_ in files:
            img = Image.open(os.path.join(root, file_))
            img = img.point(lambda p: p > 190 and 255)
            img = img.convert('1')
            (labels, output_img) = run(root, img)


if __name__ == "__main__":
    main()
EN

Stack Overflow用户

发布于 2017-12-20 12:46:39

您的问题还不清楚,但是Python有os.scandir,它不对每个文件调用stat,而且速度更快。相关医生

PyPI旧版本的https://pypi.python.org/pypi/scandir包(<3.5)。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47906354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档