Python面试题更新 2026-08-03

请用 Python 编写代码,遍历指定目录下的所有文件。

考察说明

考查Python文件系统遍历的常用方法及实现细节。

回答思路

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