``shutil`` 实用模块包含了一些用于复制文件和文件夹的函数. [Example 2-4 #eg-2-4] 中使用的 ``copy`` 函数使用和 Unix 下 ``cp`` 命令基本相同的方式复制一个文件. ====Example 2-4. 使用 shutil 复制文件====[eg-2-4] ``` File: shutil-example-1.py import shutil import os for file in os.listdir("."): if os.path.splitext(file)[1] == ".py": print file shutil.copy(file, os.path.join("backup", file)) *B*aifc-example-1.py anydbm-example-1.py array-example-1.py ...*b* ``` ``copytree`` 函数用于复制整个目录树 (与 ``cp -r`` 相同), 而 ``rmtree`` 函数用于删除整个目录树 (与 ``rm -r`` ). 如 [Example 2-5 #eg-2-5] 所示. ====Example 2-5. 使用 shutil 模块复制/删除目录树====[eg-2-5] ``` File: shutil-example-2.py import shutil import os SOURCE = "samples" BACKUP = "samples-bak" # create a backup directory shutil.copytree(SOURCE, BACKUP) print os.listdir(BACKUP) # remove it shutil.rmtree(BACKUP) print os.listdir(BACKUP) *B*['sample.wav', 'sample.jpg', 'sample.au', 'sample.msg', 'sample.tgz', ... Traceback (most recent call last): File "shutil-example-2.py", line 17, in ? print os.listdir(BACKUP) os.error: No such file or directory*b* ```