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