模块讲解----shutil模块(copy、压缩、解压)

主要用于文件的copy,压缩,解压

导入shuitl模块:

import shutil

 copy方法

1 1、shutil.copyfileobj()  打开file1,并copy写入file2: 2 with open("笔记1",\'r\',encoding=\'utf-8\') as f1,open(\'笔记2\',\'w\',encoding=\'utf-8\') as f2: 3    shutil.copyfileobj(f1,f2) 4 5 6 7 #输入文件名就能直接拷贝(调用copyfileobj方法) 8 shutil.copyfile("笔记1","笔记3") 9 10 11 12 #拷贝权限,内容,组,用户均不变:(win看不出来,linux下可以尝试) 13 shutil.copymode("笔记1","笔记3") 14 15 16 17 #拷贝状态的信息(只拷贝权限,不创建文件),包括:mode bits,atime,mtime,flags 18 shutil.copystat("笔记1","笔记3") 19 20 21 22 #拷贝文件和权限: 23 shutil.copy("笔记1","笔记3") 24 25 26 27 #拷贝文件和状态信息:(文件和权限) 28 shutil.copy2("笔记1","笔记3") 29 30 31 32 33 #递归的去copy文件:(copy目录) 34 shutil.copytree(r"D:\a",r"D:\a1") 35 例如:用python脚本实现代码发布指定线上服务器,例如svn和git在发布的时候,有些文件是不需要进行拷贝的,因袭就需要进行过滤 36 方法如下: 37 shutil.copytree(\'f1\', \'f2\', symlinks=True, ignore=shutil.ignore_patterns(\'*.pyc\', \'tmp*\')) 38 39 40 41 #递归的删除目录:(有链接占中目录,删除报错) 42 shutil.rmtree(r"D:\a1") 43 44 45 46 #移动文件: 47 shutil.move(r"D:\a",r"D:\a1")

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdzsj.html