Python面试题更新 2026-08-05

请描述如何在 Python 中完成文件复制与移动,具体说明实现方式及注意事项。

编码实现技术原理Python

考察说明

考察候选人对 Python 文件操作基础知识的掌握,包括复制、移动的方法及注意事项。

回答思路

  1. 【回答框架 1】文件复制:常用 shutil.copy() 或 shutil.copy2(),前者复制内容及权限,后者还复制元数据。也可用 open() 以二进制模式读写,但需要手动处理异常和资源关闭。
  2. 【回答框架 2】文件移动:shutil.move() 可跨文件系统移动,它优先尝试 os.rename(),若失败则执行复制并删除源文件。
  3. 【回答框架 3】注意事项:操作前检查文件是否存在,处理权限和磁盘空间不足,使用 try-except 捕获异常,大文件时考虑分块读写以减少内存占用。
  4. 【关键点 1】shutil.copy() 和 shutil.copy2() 是复制文件的推荐方法,后者保留元数据。
  5. 【关键点 2】shutil.move() 用于移动文件,可跨设备,内部处理复制与删除。
  6. 【关键点 3】使用 os.rename() 仅限同一文件系统内,失败会抛出异常。
  7. 【关键点 4】需注意文件路径、权限和异常处理。
  8. 【易错点 1】直接使用 os.rename() 可能因跨文件系统失败而抛出异常,应先检查 os.path.exists 或使用 shutil.move()。
  9. 【易错点 2】手动打开文件复制时忘记关闭资源会导致文件句柄泄漏,应使用 with 语句。
  10. 【易错点 3】复制大文件时若一次性读取全部内容到内存,可能导致内存不足,应使用分块读写。