gpt4 book ai didi

python - os.walk 递归访问文件夹非常慢

转载 作者:太空宇宙 更新时间:2023-11-04 00:24:43 24 4
gpt4 key购买 nike

我的数据集有超过 1000 个文件夹,我正在使用 os.walk 递归访问每个文件夹中的每个图像。 os.walk 对几个文件夹运行良好,但加载 1000 个以上的文件夹非常慢。我需要替代解决方案或任何可以解决此问题的解决方案。
您可以看到类似的代码:

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()

最佳答案

你的问题不清楚,但是 Python 有 os.scandir,它不会在每个文件上调用 stat,而且速度要快得多。 Related doc .

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

关于python - os.walk 递归访问文件夹非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47906354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com