请用 Python 编写代码,遍历指定目录下的所有文件。
考察说明
考查Python文件系统遍历的常用方法及实现细节。
回答思路
- 【回答框架 1】可以使用os.listdir配合os.path.isfile进行递归或非递归遍历,或者使用os.walk更简洁地遍历目录树。
- 【回答框架 2】若需要递归遍历,os.walk会返回根目录、子目录列表和文件列表,通过循环可以访问所有文件,并处理路径拼接。
- 【回答框架 3】还可以使用glob模块,通过通配符(如*或**/*.py)匹配文件,但默认递归需要指定recursive=True。
- 【回答框架 4】Pathlib的Path.rglob也可以实现递归遍历,返回Path对象,代码更现代且跨平台。
- 【回答框架 5】在实际应用中需要考虑权限、符号链接和大量文件的性能,可根据需求选择合适方法。
- 【关键点 1】os.walk是最常用的递归遍历方法,返回目录树的所有文件。
- 【关键点 2】如果需要特定模式匹配,glob和pathlib的rglob更方便。
- 【关键点 3】Pathlib提供面向对象的路径操作,代码更简洁。
- 【易错点 1】使用os.listdir时容易忽略目录项,需配合isfile进行判断。
- 【易错点 2】非递归遍历时需自行处理子目录,容易漏掉深层文件。
- 【易错点 3】拼接路径时直接使用字符串加号可能因分隔符问题出错,应使用os.path.join或Path运算符。