如何使用shutil模块在Python中复制、移动和删除文件

2023-03-25 00:00:00 模块 复制 如何使用

使用 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 模块进行文件和目录操作的范例。需要注意的是,在进行复制、移动和删除操作时,要确保操作的文件或目录存在并且有合适的访问权限。

相关文章