由于同事电脑上没有直接可以压缩gz.tar格式的压缩软件,而工作中这个又时常需要将zip文件转换为gz.tar格式,所以常常将压缩为zip格式的文件发给我来重新压缩成gz.tar格式发给他,能偷懒就不想动手,就用python的tarfile和zipfile包完成了一个将zip转换成gz.tar格式的小脚本:
代码比较简单,也就几行,但是写的时候因为绝对路径的问题浪费了点时间,代码水平还是有待提高。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/xiaodongxiexie/article/details/71483693