我们可以使用Python附带的shutil模块来完成。
复制文件
我们可以使用shutil.copy()来将文件从一个位置复制到另一个位置:
import shutil
src = 'XXX/XXX/file.txt'
dst = 'XXX/XXX/XXX/dir'
shutil.copy(src, dst)
shutil.copy() 与基于UNIX的系统中的 cp 命令相当。 shutil.copy(src,dst) 会将文件 src 复制到 dst 中指定的位置。 如果 dst 是文件,则该文件的内容将替换为 src 的内容。 如果 dst 是目录,则 src 将被复制到该目录中。 shutil.copy() 仅复制文件的内容和文件的权限。 其他元数据(如文件的创建和修改时间)不会保留。
如果在复制时想保留文件元数据,可以使用shutil.copy2()。
复制目录
虽然 shutil.copy() 只复制单个文件,但 shutil.copytree() 将复制整个目录及其中包含的所有内容。 shutil.copytree(src,dest) 接收两个参数:源目录以及将文件和文件夹复制到的目标目录。
import shutil
dst = shutil.copytree('dir1', 'dir2')
print(dst) # 返回dir2
.copytree() 将 dir1 的内容复制到新位置 dir2 并返回目标目录。 目标目录不能是已存在的。 它将被创建而不带有其父目录。 shutil.copytree() 是备份文件的一个好方法。
移动文件和目录
要将文件或目录移动到其他位置,请使用 shutil.move(src,dst) 。
其中src 是要移动的文件或目录,dst 是目标:
import shutil
dst = shutil.move('dir1', 'dir2')
print(dst) # dir2
如果 backup/ 存在,则 shutil.move(‘dir_1/’,‘backup/’) 将 dir_1/ 移动到 backup/ 。 如果 backup/ 不存在,则 dir_1/ 将重命名为 backup 。