gpt4 book ai didi

python - 如何一一获取目录下的文件名?

转载 作者:行者123 更新时间:2023-12-01 07:10:27 24 4
gpt4 key购买 nike

我有一个目录,其中包含超过 100k 个文件。我需要循环它们并执行操作。我不想将整个文件列表加载到内存中,而是想同步遍历。在 Python 中实现这一目标的最佳方法是什么?

编辑:

这个question与我的问题不同,因为我不想一次将所有文件名加载到内存中。

最佳答案

Pathlib.iterdir()提供一个生成器来迭代目录,从而减少内存消耗:

import sys
import pathlib
import os

path = '/cache/srtm'
pl = pathlib.Path(path).iterdir()
oslb = os.listdir(path)
print(type(pl))
print (type(oslb))

print ('pathlib.iter: %s' % sys.getsizeof(pl))
print ('os.listdir: %s' % sys.getsizeof(oslb))

打印:

<class 'generator'>
<class 'list'>
pathlib.iter: 88
os.listdir: 124920

关于python - 如何一一获取目录下的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58248087/

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