gpt4 book ai didi

python - 以惯用的方式在 Python 中遍历 os.walk 中的各个文件

转载 作者:太空狗 更新时间:2023-10-30 02:31:44 27 4
gpt4 key购买 nike

我从我从 another stackoverflow question 得到的一些代码开始为目录树中的所有文件生成完整路径:

import os
def recursive_file_gen(mydir):
for root, dirs, files in os.walk(mydir):
for file in files:
yield os.path.join(root, file)

我想添加内存,在我看来最简单的方法就是让 recursive_file_gen 返回一个列表:

def recursive_file_list(mydir):
result = []
for root, dirs, files in os.walk(mydir):
for file in files:
result.append(os.path.join(root, file))
return result

这段代码真的很好。弄清楚发生了什么当然不难。但是使用连续的 append 操作来组合一个列表并不完全是 Pythonic。我的猜测是有一种使用 Python 语法的更好方法,可能是通过列表理解,学习它会很有启发。

我当然可以写:

def recursive_file_list(mydir):
return list(recursive_file_gen(mydir))

并记住它。但我想知道是否有更清洁的东西。

最佳答案

怎么样?

result = [os.path.join(root, file) for root, dir, files in os.walk(mydir) for file in files]

关于python - 以惯用的方式在 Python 中遍历 os.walk 中的各个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234190/

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