python中将zip压缩包转为gz.tar的方法


Posted in Python onOctober 18, 2018

由于同事电脑上没有直接可以压缩gz.tar格式的压缩软件,而工作中这个又时常需要将zip文件转换为gz.tar格式,所以常常将压缩为zip格式的文件发给我来重新压缩成gz.tar格式发给他,能偷懒就不想动手,就用python的tarfile和zipfile包完成了一个将zip转换成gz.tar格式的小脚本:

代码比较简单,也就几行,但是写的时候因为绝对路径的问题浪费了点时间,代码水平还是有待提高。

#coding: utf-8

import os
import tarfile
import zipfile

def zip2tar(root_path, name,to_name='test'):

 '''
 root_path: 压缩文件所在根目录
 name: 压缩文件名字(zip格式)
 '''
 #root_path = r'C:\Users\Administrator\Desktop\somefiles'
 #file_path = os.path.join(root_path, 'somemodel.zip')

 file_path = os.path.join(root_path, name+'.zip')

 with zipfile.ZipFile(file_path, 'r') as zzip:
  with tarfile.open(os.path.join(root_path, to_name+'.gz.tar'), 'w') as ttar:
   for ffile in zzip.namelist():
    if not os.path.isdir(ffile):
    #if not ffile.strip().endswith(r'/'):
     zzip.extract(ffile, root_path)
     ttar.add(os.path.join(root_path,ffile), arcname=ffile)


if __name__ == '__main__':

 root_path = raw_input(u'input root path: ')
 name = raw_input(u'input the zip name(without .zip): ')
 zip2tar(root_path, name)

以上这篇python中将zip压缩包转为gz.tar的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的一个火车票转让信息采集器
Jul 09 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
Django的URLconf中使用缺省视图参数的方法
Jul 18 Python
Python操作Access数据库基本步骤分析
Sep 19 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
浅谈Python中的可变对象和不可变对象
Jul 07 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
用于业余项目的8个优秀Python库
Sep 21 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
python 创建一维的0向量实例
Dec 02 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
python多线程和多进程关系详解
Dec 14 Python
Python 忽略warning的输出方法
Oct 18 #Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 #Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 #Python
python 自定义异常和异常捕捉的方法
Oct 18 #Python
详解Python发送email的三种方式
Oct 18 #Python
python try except 捕获所有异常的实例
Oct 18 #Python
对Python中Iterator和Iterable的区别详解
Oct 18 #Python
You might like
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
PHP 实现重载
2021/03/09 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
Python os模块介绍
2014/11/30 Python
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
Django使用rest_framework写出API
2020/05/21 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
应届毕业生的自我鉴定
2013/11/13 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技