gpt4 book ai didi

python - 不使用嵌套循环读取文件和文件夹

转载 作者:行者123 更新时间:2023-12-01 09:18:48 25 4
gpt4 key购买 nike

我有超过 100,000 个文件分布在多个目录中,现在我可以使用嵌套的 for 循环读取每个文件的名称和路径,如下所示,

for root, dirs, files in os.walk('python/Lib/email'):
for file in files:
# some work here

是否有办法在不使用嵌套循环的情况下实现此目的?读取我们拥有的文件量所花费的时间比我们预期的要长

最佳答案

如果问题是打开 for then 后的附加循环:

import os

for fpath in (os.path.join(root, fname)
for root, dirs, files
in os.walk(R"python/Lib/email")
for fname
in files):
pass # do something with the path

可以通过多种方式减少执行时间,具体取决于您在“某些工作” block 中所做的事情。例如,如果您进行了大量额外的文件系统检查,则可以将 fpath 包装在 pathlib.Path() 中。

我建议使用 cProfile 模块来找出是什么导致代码变慢。

关于python - 不使用嵌套循环读取文件和文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50980459/

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