文件、文件夹、压缩包处理模块
1.shutil.copyfileobj(fsrc,fdst[,length])
将文件内容拷贝到另一个文件,可以是部分内容
f1 = open("shutil笔记", "r", encoding="utf-8") f2 = open("笔记2", "w", encoding="utf-8") shutil.copyfileobj(f1, f2)
2.shutil.copyfile(src,dst)
拷贝文件
shutil.copyfile("笔记2", "笔记3")
3.shutil.copymode(src.dst)
仅将src权限拷贝给dst,但是dst文件的内容和修改时间等不变
dst文件必须先存在
shutil.copymode("/tmp/score.txt","/tmp/score3.txt")
4.shutil.copystat(src.dst)
将src文件的各种信息,包括文件内容、属性、修改时间等复制给dst文件,但不改变dst文件内容
dst文件必须存在
shutil.copystat("/tmp/score.txt","/tmp/score2.txt")
5.shutil.copy(src,dst)
拷贝文件和权限
shutil.copy("/tmp/score.txt","/tmp/score4.txt")
6.shutil.copy2(src,dst)
拷贝src文件内容,权限,状态信息给dst文件
shutil.copy2("/tmp/score.txt","/tmp/score5.txt")
7.shutil.copytree(path,new_path)
递归的去拷贝文件,将目录下的文件和目录都拷贝
shutil.copytree("/tmp/a","/tmp/new_a")
8.shutil.rmtree(path)
删除目录
shutil.rmtree("/tmp/new_a")
9.shutil.make_archive(base_name,format,...)
建压缩包并返回文件路径,例如:zip、tar
- base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
- format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
- root_dir: 要压缩的文件夹路径(默认当前目录)
- owner: 用户,默认当前用户
- group: 组,默认当前组
- logger: 用于记录日志,通常是logging.Logger对象
shutil.make_archive("G:/python/untitled/study5/shutilstudy", 'gztar', root_dir="G:/python/untitled/study5")