📌  相关文章
📜  使用Python列出目录中特定类型的所有文件(1)

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

使用Python列出目录中特定类型的所有文件

Python是一种强大的编程语言,可以处理数据、网络、Web开发等多种应用。在文件操作上,Python也提供了很好的支持。本文将介绍如何使用Python列出目录中特定类型的所有文件。

获取当前目录下的所有文件

可以使用os模块的listdir()函数获取当前目录下的所有文件。

import os

# 获取当前目录下的所有文件
files = os.listdir('.')
print(files)

这将输出当前目录下的所有文件和文件夹的名称。

筛选指定类型的文件

可以使用os模块的path子模块的isfile()函数判断一个文件是否是普通文件。通过在listdir()函数中添加筛选条件,就可以只列出指定类型的文件。

import os

# 列出当前目录下所有的.py文件
py_files = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.py')]
print(py_files)

这将输出当前目录下所有的py文件名列表。其中,os.path.isfile()函数判断一个文件是否是普通文件,f.endswith('.py')判断一个文件名是否以.py结尾。

递归地筛选指定类型的文件

如果希望递归地查找目录下的所有子目录中符合条件的文件,可以使用os模块的walk()函数遍历整个目录树。在遍历时,可以筛选出指定类型的文件。

import os

# 递归列出当前目录下所有的.py文件
py_files = []
for root, dirs, files in os.walk('.'):
    for f in files:
        if os.path.isfile(os.path.join(root, f)) and f.endswith('.py'):
            py_files.append(os.path.join(root, f))
print(py_files)

这将输出当前目录下所有的py文件路径列表。其中,os.walk()函数遍历整个目录树,返回每个目录下的子目录、文件列表等。os.path.join()函数将目录名和文件名拼接成完整的路径,f.endswith('.py')判断一个文件名是否以.py结尾。

总结

使用Python列出目录中特定类型的所有文件,需要借助os模块的listdir()函数、path子模块的isfile()函数、walk()函数等,结合条件判断语句,就可以完成文件的筛选和遍历。