欢迎访问宙启技术站
智能推送

利用Python的list_directory()函数实现目录遍历与筛选

发布时间:2023-12-11 05:02:21

list_directory()函数是一个自定义函数,用于实现目录的遍历与筛选。该函数使用了Python内置的os模块来实现目录的操作。

下面是list_directory()函数的实现示例:

import os

def list_directory(path):
    # 获取目录下的所有文件和文件夹
    items = os.listdir(path)

    # 过滤出文件夹
    directories = [item for item in items if os.path.isdir(os.path.join(path, item))]

    # 过滤出以.py为后缀的文件
    python_files = [item for item in items if item.endswith('.py')]

    return directories, python_files

上述示例中,list_directory()函数接受一个参数path,表示目录的路径。首先使用os.listdir()函数获取目录下所有的文件和文件夹,并存储在列表items中。

接下来,使用列表推导式过滤出所有的文件夹。对于items中的每个元素,通过os.path.isdir()函数判断是否是文件夹,如果是,则将其添加到directories列表中。

然后,使用列表推导式再次过滤出所有以.py为后缀的文件。对于items中的每个元素,使用str.endswith()函数判断是否以.py为后缀,如果是,则将其添加到python_files列表中。

最后,函数返回了两个列表directories和python_files,分别表示过滤后的文件夹和python文件。

下面是一个使用list_directory()函数遍历目录,并筛选文件夹和python文件的例子:

directories, python_files = list_directory('/path/to/directory')

print("文件夹:")
for directory in directories:
    print(directory)

print("
Python文件:")
for python_file in python_files:
    print(python_file)

上述例子中,调用list_directory()函数,并传入目录的路径。将返回的directories和python_files分别赋值给两个变量。

然后,通过循环遍历打印出directories列表中的所有文件夹,以及python_files列表中的所有python文件。

这样,我们就可以利用list_directory()函数实现目录的遍历与筛选了。可以根据需要修改函数中的筛选条件,以满足具体的需求。