1.拷贝文件,如果目标文件存在则会替换
import shutil
shutil.copy(src, dst) # 拷贝文件和权限
shutil.copy2(src, dst) # 拷贝文件和状态信息,如时间戳
2.拷贝目录,可以递归拷贝目录下的文件及目录,但目标目录不能存在
shutil.copytree('d:\folder1', e:\'folder2')
3.压缩文件或目录
shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=0, owner=None, group=None, logger=None)
----base_name: 压缩包的文件名或路径。文件名时,则保存至当前目录,否则保存至指定路径,
----format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
----root_dir: 要压缩的文件夹路径(默认当前目录)
----owner: 用户,默认当前用户
----group: 组,默认当前组
----logger: 用于记录日志,通常是logging.Logger对象
shutil.make_archive('/root/a', 'zip', '/usr/local/') # 压缩'/usr/local/'目录至'/root/a.zip'
4.解压缩
shutil.unpack_archive(filename, extract_dir=None, format=None)
shutil.unpack_archive('/home/1/a.zip', '/home/2/') # 把'/home/1/a.zip'p解压缩到'/home/2/'