Python3代码实现:按文件后缀筛选并遍历目录

需积分: 48 27 下载量 37 浏览量 更新于2024-09-07 收藏 1KB MD 举报
"该代码示例展示了如何在Python3中通过文件后缀筛选并列出指定目录下的所有文件。用户可以输入一个文件后缀(如.py或.txt),然后程序会递归地遍历指定的目录及其子目录,找出并打印出所有具有该后缀的文件路径。" 在Python编程中,有时我们需要根据特定条件筛选文件,例如根据文件的后缀名。这个Python脚本提供了一个简单的方法来实现这一功能。它主要涉及以下几个知识点: 1. **导入操作系统模块**:`import os`,这是Python中的标准库,提供了与操作系统交互的各种功能,包括文件和目录操作。 2. **用户输入**:使用`input()`函数获取用户输入的文件后缀和查询路径。这里通过一个while循环确保用户输入的文件后缀以"."开头,如果不正确,程序会提示用户重新输入。 3. **文件后缀检查**:`str(val).endswith(format1)`,这个表达式用于检查文件路径字符串`val`是否以用户输入的后缀`format1`结束,即判断文件的后缀是否符合要求。 4. **目录遍历**:通过`os.listdir(path)`获取指定路径`path`下的所有文件和子目录。 5. **路径拼接**:使用`os.path.join(path, var)`将目录路径和文件/子目录名组合成完整路径。 6. **文件和目录判断**:`os.path.isfile(val)`和`os.path.isdir(val)`用于判断`val`是文件还是目录。如果是文件,检查后缀并打印文件路径;如果是目录,递归调用`filtrate(val)`继续遍历。 7. **递归函数**:`filtrate(path)`是核心递归函数,它遍历当前路径下的所有内容,对每个元素执行相应的处理。 8. **函数调用**:最后,调用`filtrate(path)`开始遍历过程。 通过以上步骤,我们可以构建一个灵活且实用的工具,适用于需要查找特定类型文件的场景。这个脚本也可以进一步扩展,例如添加错误处理、支持多个后缀筛选或提供更友好的用户界面。