python shutil模块

1、复制文件和文件夹

调用 shutil.copy(source, destination),将路径 source 处的文件复制到路径 destination处的文件夹( source 和 destination 都是字符串)。如果 destination 是一个文件名,它将作为被复制文件的新名字。该函数返回一个字符串,表示被复制文件的路径。

import shutil, os
os.chdir('C:\')
shutil.copy('C:\spam.txt', 'C:\delicious')
#'C:\delicious\spam.txt'
shutil.copy('eggs.txt', 'C:\delicious\eggs2.txt')
#'C:\delicious\eggs2.txt

shutil.copy()将复制一个文件, shutil.copytree()将复制整个文件夹,以及它包含的文件夹和文件。调用 shutil.copytree(source, destination),将路径 source 处的文件夹,包括它的所有文件和子文件夹,复制到路径 destination 处的文件夹。 source 和destination 参数都是字符串。该函数返回一个字符串,是新复制的文件夹的路径。

import shutil, os
os.chdir('C:\')
shutil.copytree('C:\bacon', 'C:\bacon_backup')
#'C:\bacon_backup'

2、文件和文件夹的移动和改名

调用 shutil.move(source, destination), 将路径 source 处的文件夹移动到路径destination,并返回新位置的绝对路径的字符串。可以实现文件和文件夹的改名,移动时目标文件夹必须存在,否则抛出FileNotFoundError异常。

import shutil

shutil.move('C:\bacon.txt', 'C:\eggs\new_bacon.txt')
#'C:\eggs\new_bacon.txt'

3、永久删除文件和文件夹,不可恢复

  • 用 os.unlink(path)将删除 path 处的文件。
  • 调用 os.rmdir(path)将删除 path 处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹。
  • 调用 shutil.rmtree(path)将删除 path 处的文件夹,它包含的所有文件和文件夹都会被删除。

 该操作永久删除不可恢复,如需安全删除,可安装第三方模块send2trash,使用send2trash.send2trash()函数进行删除,被删除文件将在回收站或垃圾箱。

转载于:https://my.oschina.net/u/2440318/blog/844304

原文地址:https://www.cnblogs.com/twodog/p/12141220.html