shutil模块常用方法
shutil.copy() 复制文件
用法:shutil.copy(src, dst)
返回值:dstshutil.copy2() 复制文件,保留元数据(属性面板中的内容)
shutil.copyfileobj() 复制文件内容
用法:shutil.copyfilleobject(oepn(src, ‘r’), open(dst, ‘w’))
返回值:None
备注:两个文件后缀名可不同,如果发生编码问题,可用二进制读写方式,目标文件也可用a方式打开shutil.copyfile() 复制文件内容
用法:shutil.copyfile(src, dst)
备注:两个文件的后缀名可不同,无需打开文件操作shutil.copytree() 复制整个文件目录
返回值:dstpath
备注:目标文件夹,必需不存在shutil.copymode() 拷贝权限
shutil.copystat() 拷贝元数据
shutil.rmtree() 移除整个目录
返回值:None
备注:空目录或非空目录均可,不经过回收站shuitl.move() 移动文件或文件夹
返回值:dstshutil.which() 检查命令对应的文件路径
用法:shutil.which(‘python’)
返回值:python.exe所在目录的完整路径shutil.disk_usage() 查看磁盘使用信息
用法:shutil.disk_usage(‘D:’)
返回值:元组 usage(total=, used=, free=)
备注:单位字节
shutil模块归档和解包操作
归档:将多个文件合并到一个文件中
解包:归档的反向操作
压缩:将多个文件进行有损或无损地合并到一个文件中
解压:压缩的反向操作
shutil.make_archive() 归档
用法:shutil.make_archive(归档文件名,后缀名,归档源路径)
e.g. shutil.make_archive(r’D:\file’, ‘zip’, r’D:\xxx\xxx’)
返回值:归档文件名.后缀名,e.g. D:\file.zipshutil.unpakc_archive() 解包
用法:shutil.unpack_archive(归档文件名,解包路径)
e.g. shutil.unpack_archive(r’D:\file.zip’, r’D:\file’)
返回值:None
备注:解包路径不存在时会创建shutil.get_archive_formats() 查看系统支持的归档格式
返回值:列表,列表元素为二元组shutil.get_unpack_formats() 查看系统支持的解包格式
返回值:列表,列表元素为三元组
zipfile模块压缩文件、解压文件操作
import zipfile
- zipfile.ZIPFILE() 打开或新建一个压缩文件,第二个参数,r、w、a可选
zp = zifile.ZipFile(r'D:\ziptest.zip', 'w')
- zipfile.getinfo() 查看压缩文件信息
返回值:元组,包含filename、filemode、filesize信息
zp.getinfo('A.pdf')
zipfile.infolist() 获取所有信息列表
zipinfo.namelist() 获取名称列表
zipfile.write() 将文件添加到压缩文件中
zp.write(r'D:\A.exe', 'B.exe') #需要添加的文件, 添加后的文件名
- zipfile.Setpassword() 加密
zp.Setpassword('XXX'.encode)
- zipfile.extractall() 解压所有文件到指定路径
zp.extractall(r'D:\XXX')
- zipfile.extract() 解压单个文件到指定路径
zp.extract('A.pdf', r'D:\XXX')
- zipfile.close() 关闭压缩文件
zp.close()