python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法

默认情况下,tarfile 打包成的 tar.gz 文件会带绝对路径,而很多情况下,我们需要的是相对打包文件夹的路径。

代码:

<pre name="code" class="python"><span style="font-size:18px;">import tarfile
tmp_tar_dir = "/home"
file_name = "test.tar.gz"
tmp_dir = "/home/centos"
soft_name = "php"
tar = tarfile.open(os.path.join(tmp_tar_dir,file_name),"w:gz")
for root,dir,files in os.walk(os.path.join(tmp_dir,soft_name)):
 root_ = os.path.relpath(root,start=tmp_dir)
 #tar.add(root,arcname=root_)
 for file in files:
  full_path = os.path.join(root,file)
  tar.add(full_path,arcname=os.path.join(root_,file))
tar.close()</span>

注意:打包出来的文件,如果原目录总存在空文件夹,则打包出来的文件中不包含此空文件夹。

以上这篇python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python 实现tar文件压缩解压的实例详解

    python 实现tar文件压缩解压的实例详解 压缩文件: import tarfile import os def tar(fname): t = tarfile.open(fname + ".tar.gz", "w:gz") for root, dir, files in os.walk(fname): print root, dir, files for file in files: fullpath = os.path.join(root, file) t.

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

    由于同事电脑上没有直接可以压缩gz.tar格式的压缩软件,而工作中这个又时常需要将zip文件转换为gz.tar格式,所以常常将压缩为zip格式的文件发给我来重新压缩成gz.tar格式发给他,能偷懒就不想动手,就用python的tarfile和zipfile包完成了一个将zip转换成gz.tar格式的小脚本: 代码比较简单,也就几行,但是写的时候因为绝对路径的问题浪费了点时间,代码水平还是有待提高. #coding: utf-8 import os import tarfile import zi

  • Python打包文件夹的方法小结(zip,tar,tar.gz等)

    本文实例讲述了Python打包文件夹的方法.分享给大家供大家参考,具体如下: 一.zip import os, zipfile #打包目录为zip文件(未压缩) def make_zip(source_dir, output_filename): zipf = zipfile.ZipFile(output_filename, 'w') pre_len = len(os.path.dirname(source_dir)) for parent, dirnames, filenames in os.

  • python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法

    默认情况下,tarfile 打包成的 tar.gz 文件会带绝对路径,而很多情况下,我们需要的是相对打包文件夹的路径. 代码: <pre name="code" class="python"><span style="font-size:18px;">import tarfile tmp_tar_dir = "/home" file_name = "test.tar.gz" tmp_

  • Go语言压缩和解压缩tar.gz文件的方法

    本文实例讲述了Go语言压缩和解压缩tar.gz文件的方法.分享给大家供大家参考.具体分析如下: golang处理压缩包,最常用的就是tar.gz了,这里写了一个测试一下. 压缩文件: 复制代码 代码如下: package main import (     "fmt"     "os"     "io"     "archive/tar"     "compress/gzip" ) func main()

  • Python安装官方whl包和tar.gz包的方法(推荐)

    Windows环境: 安装whl包:pip install wheel    ->    pip install  **.whl 安装tar.gz包:cd到解压后路径,python setup.py install Linux环境: 安装whl同上 安装tar.gz:cd到解压后路径,./configure  -> make  -> make install 以上这篇Python安装官方whl包和tar.gz包的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家

  • NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法

    在编程之前,一定要有一个信条:代码是为了减少工作量而生的,重复枯燥的工作是不能容忍的. 需求 这是由上篇文章衍生出的需求,我已经将一个文件夹内所有的文件名转译为英文,但我在页面上还需要将这些图片引入加载.如果一个一个手写到程序里,未免有点劳心劳神.那么何不将这个文件夹按照存放路径变成一个相应的JSON在前端请求并渲染呢? 说干就干. 文件夹的路径如下所示: 一级路径:test 二级路径:A,B,C...共十三个文件夹 三级路径:每个二级路径下有3-8个文件夹不等 四级路径:a.jpg,b.jpg

  • Python安装tar.gz格式文件方法详解

    这篇文章主要介绍了Python安装tar.gz格式文件方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 有的库没有找到对应的.whl格式文件,只有.tar.gz格式文件,接下来总结下该类型文件的安装. 以robotframework-ride-1.7.4.tar.gz为例 (1)下载robotframework-ride-1.7.4.tar.gz文件,将此文件放到Python下的Lib文件中: (2)进入已解压的robotframewor

  • ASP.NET 上传文件到共享文件夹的示例

    目录 上传文件代码 web.config 工具方法 常量 具体上传文件代码 创建共享文件夹参考资料 上传文件代码 web.config <!--上传文件配置,UploadPath值一定是服务器ip,内网ip最好--> <add key="UploadPath" value="\\172.21.0.10\File" /> <add key="DownloadPath" value="http://x.x.x.

  • python如何将自己的包上传到PyPi并可通过pip安装的方法步骤

    目录 一.创建包 1.1 包概念简述 1.2 创建包结构 二.上传前准备 2.1 完善包相关信息 2.2 创建可供分发的包 三.上传包至PyPi 3.1 使用PyPi测试环境先熟悉上传步骤 3.2 正式上传至PyPi 四.使用pip安装测试 4.1 安装PyPi测试环境的包 4.2 安装PyPi正式环境的包 五.包版本更新 当逐渐在用python开发项目或者日常使用时,一般需要大量使用别人提供的包,这些包能高效的帮助我们快速高效的完成指定任务或者需求,不过有时也会想,自己如果能够把自己的代码打包

  • python+opencv 读取文件夹下的所有图像并批量保存ROI的方法

    如下所示: import cv2 import os import numpy as np root_path = "I:/Images/2017_08_03/" dir = root_path+"images"+"/" count = 0 for root,dir,files in os.walk(dir): for file in files: srcImg = cv2.imread(root_path+"images"+

  • Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中

    我就废话不多说了,直接上代码吧! import Image from datetime import datetime import os str = '/home/dltest/caffe/examples/sgg_datas/images/result_test/zutest/' + datetime.now().strftime("%Y%m%d_%H%M%S") while True==os.path.exists(str): str = str + datetime.now()

随机推荐