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

yipeiwu_com7年前Python基础

默认情况下,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 文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django实现登录时候输入密码错误5次锁定用户十分钟

django实现登录时候输入密码错误5次锁定用户十分钟

在学习django的时候,想要实现登录失败后,进行用户锁定,切记录锁定时间,在网上找了很多资料,但是都感觉不是那么靠谱,于是乎,我开始了我的设计,其实我一开始想要借助redis呢,但是想...

总结Python图形用户界面和游戏开发知识点

基于tkinter模块的GUI GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在...

安装python3的时候就是输入python3死活没有反应的解决方法

我用brew安装python3 装完了发现 输入python3毫无反应,检查了 $PATH 也没有任何问题 这个时候回去看安装过程,发现安装时有一个错误: ERROR:The `b...

Python 判断 有向图 是否有环的实例讲解

实例如下: import numpy from numpy import * def dfs( v ): vis[v] = -1 flag = 0 for i in range...

如何在Django项目中引入静态文件

如何在Django项目中引入静态文件

今天继续学习Django,今天主要掌握两个小点 一、如果为Django项目中引入静态文件 1、先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以...