📜  python 循环遍历目录 - Python (1)

📅  最后修改于: 2023-12-03 15:04:16.700000             🧑  作者: Mango

Python 循环遍历目录

在Python中,我们可以使用os模块中的方法对目录进行遍历。以下是一个简单的示例程序,该程序递归地遍历指定目录并打印其中所有文件的名称。

import os

def list_files(startpath):
    """
    遍历指定目录,并打印其中所有文件的名称
    """
    for root, dirs, files in os.walk(startpath):
        level = root.replace(startpath, '').count(os.sep)
        indent = ' ' * 4 * (level)
        print('{}{}/'.format(indent, os.path.basename(root)))
        subindent = ' ' * 4 * (level + 1)
        for f in files:
            print('{}{}'.format(subindent, f))

if __name__ == '__main__':
    list_files('.')

上述代码中,我们使用了os.walk()函数来遍历指定目录。该函数返回一个生成器,该生成器生成目录下的root、dirs和files三个元素。其中,root表示当前正在遍历的目录路径,dirs表示在该目录下的子目录列表,files表示在该目录下的所有文件列表。

在上述程序中,我们使用了level变量来记录当前是第几层目录。然后,我们使用indent字符串来表示该目录所在的缩进位置。在打印目录名称时,我们在前面加入了该目录所在的缩进。接着,我们遍历该目录下的所有文件,并使用subindent字符串来表示该文件所在的缩进位置。最后,我们将文件名打印出来。

此外,我们还使用了os.path.basename()函数来获取目录名称和文件名称。该函数返回指定路径的最后一个目录或文件名称,不包含路径前缀。

这是一个非常基础的示例,您可以根据需要进行更改和修改,以满足不同的用例。