当前位置: 首页 > news >正文

python用zipfile模块打包文件或是目录、解压zip文件实例

    python用zipfile模块打包文件或是目录、解压zip文件实例,不过好像解压对中文的支持不太好,不包含中文的话没有问题,有懂的朋友可以帮助完善一下。

 


 
  1. #!/usr/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3.  
  4. from zipfile import * 
  5. import zipfile 
  6.  
  7. #解压zip文件 
  8. def unzip(): 
  9.     source_zip="c:\\update\\SW_Servers_20120815.zip" 
  10.     target_dir="c:\\update\\" 
  11.     myzip=ZipFile(source_zip) 
  12.     myfilelist=myzip.namelist() 
  13.     for name in myfilelist: 
  14.         f_handle=open(target_dir+name,"wb"
  15.         f_handle.write(myzip.read(name))       
  16.         f_handle.close() 
  17.     myzip.close() 
  18.  
  19. #添加文件到已有的zip包中 
  20. def addzip(): 
  21.     f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED) 
  22.     f.write('file_to_add.py'
  23.     f.close() 
  24.  
  25. #把整个文件夹内的文件打包 
  26. def adddirfile(): 
  27.     f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED) 
  28.     startdir = "c:\\mydirectory" 
  29.     for dirpath, dirnames, filenames in os.walk(startdir): 
  30.         for filename in filenames: 
  31.             f.write(os.path.join(dirpath,filename)) 
  32.     f.close() 

 

相关文章:

  • 模块化(学习笔记)
  • HDU 4048 Zhuge Liang's Stone Sentinel Maze [组合数学+Burnside]
  • swap file *.swp already exists问题解决!!!
  • [G-CS-MR.PS02] 機巧之形2: Ruler Circle
  • Eclipse开发环境配置,打磨Eclipse,安装插件(适用3.4,3.5,3.6,3.7)
  • 八、Maven下进行单元测试
  • Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件
  • 在阿里云创建子域名,配置nginx,使用pm2部署node项目到ubuntu服务器
  • 求数组中只出现一次的数字(算法)
  • 黄聪:公众号怎么用微信做出点击此处查看答案
  • 远程调用
  • Kinect+OpenNI学习笔记之12(简单手势所表示的数字的识别)
  • 超强大的响应式图表工具 (Echarts)
  • 4-8Expect实现批量主机公钥推送
  • 纯PHP Codeigniter(CI) ThinkPHP效率测试
  • JS 中的深拷贝与浅拷贝
  • es6--symbol
  • Java IO学习笔记一
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript 基础知识 - 入门篇(一)
  • 闭包,sync使用细节
  • 两列自适应布局方案整理
  • 漂亮刷新控件-iOS
  • 世界上最简单的无等待算法(getAndIncrement)
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (10)STL算法之搜索(二) 二分查找
  • (6)添加vue-cookie
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (六)c52学习之旅-独立按键
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (三)mysql_MYSQL(三)
  • (正则)提取页面里的img标签
  • *p++,*(p++),*++p,(*p)++区别?
  • .cfg\.dat\.mak(持续补充)
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .Net的C#语言取月份数值对应的MonthName值
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [<死锁专题>]
  • [2010-8-30]
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)
  • [cogs2652]秘术「天文密葬法」
  • [EWS]查找 文件夹
  • [GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等
  • [Java][Android][Process] 暴力的服务能够解决一切,暴力的方式运行命令行语句
  • [java基础揉碎]关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符运算符的优先级