如何使用shutil模块在Python中复制、移动和删除文件
使用 shutil 模块可以方便地进行文件和目录操作,包括复制、移动和删除。下面是具体的范例:
复制文件
使用 shutil 模块中的 copy 函数可以复制单个文件。例如,将当前目录下的 pidancode.txt 文件复制到 ~/Desktop 目录中:
import shutil shutil.copy('pidancode.txt', '~/Desktop')
如果需要指定文件名,可以在目标路径中指定文件名:
import shutil shutil.copy('pidancode.txt', '~/Desktop/new_pidancode.txt')
如果需要同时复制文件的元数据(例如访问权限、创建时间等),可以使用 copy2 函数。
移动文件
使用 shutil 模块中的 move 函数可以移动单个文件。例如,将 ~/Desktop/pidancode.txt 文件移动到 ~/Documents 目录下:
import shutil shutil.move('~/Desktop/pidancode.txt', '~/Documents')
同样,如果需要指定文件名,可以在目标路径中指定文件名。
删除文件
使用 os 模块中的 remove 函数可以删除单个文件。例如:
import os os.remove('pidancode.txt')
如果要删除多个文件,可以使用 os.listdir 函数获取目录中的所有文件名,然后循环调用 os.remove 函数删除每个文件。
复制目录
使用 shutil 模块中的 copytree 函数可以复制整个目录。例如,将 ~/Desktop/pidancode 目录复制到 ~/Documents 目录下:
import shutil shutil.copytree('~/Desktop/pidancode', '~/Documents/pidancode')
如果目标目录已经存在,则会抛出异常。如果需要覆盖目标目录,可以先删除目标目录再复制源目录。
移动目录
使用 shutil 模块中的 movetree 函数可以移动整个目录。例如,将 ~/Desktop/pidancode 目录移动到 ~/Documents 目录下:
import shutil shutil.movetree('~/Desktop/pidancode', '~/Documents/pidancode')
同样,如果目标目录已经存在,则会抛出异常。如果需要覆盖目标目录,可以先删除目标目录再移动源目录。
删除目录
使用 shutil 模块中的 rmtree 函数可以删除整个目录。例如,删除 ~/Documents/pidancode 目录:
import shutil shutil.rmtree('~/Documents/pidancode')
以上就是使用 shutil 模块进行文件和目录操作的范例。需要注意的是,在进行复制、移动和删除操作时,要确保操作的文件或目录存在并且有合适的访问权限。
相关文章