遍历Python的os.walk()混乱

里奇·威尔逊(Ricky Wilson)

我正在编写一个脚本,该脚本将爬网硬盘并通过fnmatch和magic收集它遇到的每个文件的信息。

我觉得yield_files(root)不需要第一个嵌套的for循环

def yield_files(root):

    for root, dirs, files in os.walk(root):
        """ Is this necessary 

        for directory in dirs:
            for filename in directory:
                filename = os.path.join(root, filename)
                if os.path.isfile(filename) or os.path.isdir(filename):
                    yield FileInfo(filename)
        """

        for filename in files:
            filename = os.path.join(root, filename)
            if os.path.isfile(filename) or os.path.isdir(filename):            
                yield FileInfo(filename)

还是os.walk()最终会递归到这些目录中

def yield_files(root):
    for root, dirs, files in os.walk(root):
        for filename in files:
            filename = os.path.join(root, filename)
            if os.path.isfile(filename) or os.path.isdir(filename):            
                yield FileInfo(filename)

这就是您所需要的。其余的确实是不必要的。os.walk进入子目录,因此您不需要当前目录的路径,只需要root作为路径连接的基础即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

遍历Python的os.walk()混乱

来自分类Dev

以惯用方式遍历Python中os.walk中的单个文件

来自分类Dev

在没有os.walk的情况下递归遍历python中的目录结构

来自分类Dev

Python os.walk()失败

来自分类Dev

Python os.walk()方法

来自分类Dev

限制os.walk遍历的嵌套目录数

来自分类Dev

使用 os.walk() 遍历文件并打开它们

来自分类Dev

使用 os.walk() 遍历文件并打开它们

来自分类Dev

Python error os.walk IOError

来自分类Dev

Python 3 OS Walk Unicode异常

来自分类Dev

Python - recursive directory hit with os.walk()

来自分类Dev

Python错误os.walk IOError

来自分类Dev

Python os.walk和符号链接

来自分类Dev

Python中os.walk的时间复杂度

来自分类Dev

Python os.walk()变音u'\ u0308'

来自分类Dev

没有os.walk的Python递归目录读取

来自分类Dev

以Python os.walk为例的递归定义

来自分类Dev

Python os.walk是否支持Unicode / UTF-8?

来自分类Dev

python3:os.walk有问题

来自分类Dev

Python-用os.walk()递归目录

来自分类Dev

如何全局覆盖/重载python函数(os.path.walk)?

来自分类Dev

Recursion definition using Python os.walk as an example

来自分类Dev

os.walk设置起点和终点-python

来自分类Dev

为什么python的os.walk()无法反映目录删除?

来自分类Dev

Python os.walk始终附加根目录

来自分类Dev

如何使用os.walk()python计算目录的大小?

来自分类Dev

python3:os.walk有问题

来自分类Dev

以Python os.walk为例的递归定义

来自分类Dev

Python os.walk和打开应用程序/文件