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

本文实例讲述了Python打包文件夹的方法。分享给大家供大家参考,具体如下:

一、zip

?


1

2

3

4

5

6

7

8

9

10

11

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.walk(source_dir):

    for filename in filenames:

      pathfile = os.path.join(parent, filename)

      arcname = pathfile[pre_len:].strip(os.path.sep)   #相对路径

      zipf.write(pathfile, arcname)

  zipf.close()

二、tar/tar.gz

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import os, tarfile

#一次性打包整个根目录。空子目录会被打包。

#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。

def make_targz(output_filename, source_dir):

  with tarfile.open(output_filename, "w:gz") as tar:

    tar.add(source_dir, arcname=os.path.basename(source_dir))

#逐个添加文件打包,未打包空子目录。可过滤文件。

#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。

def make_targz_one_by_one(output_filename, source_dir):

  tar = tarfile.open(output_filename,"w:gz")

  for root,dir,files in os.walk(source_dir):

    for file in files:

      pathfile = os.path.join(root, file)

      tar.add(pathfile)

  tar.close()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

原文地址:https://www.cnblogs.com/liangqihui/p/9219333.html

时间: 2024-10-11 07:23:05

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

【转】C#打包文件夹成zip格式

原文地址 C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)C#打包zip文件可以调用现成的第三方dll,事半功倍,而且该dll完全免费,下载地址:SharpZipLib下载完解压缩后,把 ICSharpCode.SharpZipLib.dll 拷贝到当前项目的目录下(如果偷懒的话,可以直接拷贝到当前项目的bin\Debug目录下),在VS打开的项目引用上右键添加引用 ICSharpCode.SharpZipLib.dll然后,在VS打开的项目上右键新建一个类,命名为 ZipHelp

php读取excel,以及php打包文件夹为zip文件

1.把文件下载到本地,放在在Apache环境下2.d.xlsx是某游戏的服务器名和玩家列表,本程序只适合此种xlsx文件结构,其他结构请修改index.php源码3.访问zip.php的功能是把生成的files文件夹打包成files.zip4.访问index.php即可生成files文件夹,里面0.js---n.js 分别存放各个服务器人名,server_name_list.js存放服务器列表.5.Classes 存放的是php读取excel的功能模块,具体任务逻辑都在index.php A.P

Python实现Windows和Linux之间互相传输文件(文件夹)的方法

项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件.所以就需要实现如何把文件从Windows系统传输到Linux系统中. 在项目中使用了pscp.exe这个工具,只要按照pscp.exe的使用说明操作即可.只要进入pscp.exe的安装位置,然后输入pscp即可查看pscp的使用说明. 下面是我机器上的: 使用Python实现也挺简单的,下面的code主要介绍4中情况: 1. windows传输文件到Linux 2. windows传输

Linux服务器删除乱码文件和文件夹的方法

Linux服务器删除乱码文件和文件夹的方法 首页进入乱码文件所在文件夹由于php大势所趋,所以接触Linux服务器的机会越来越多.不同于Windows服务器,Linux服务器只支持数字.英文等字符,对中文字符没办法识别.所以导致我们打包上传文件解压之后出现中文乱码文件和文件夹.网上有很多解决的办法,但是今天亲测用find命令能快速删除乱码的文件和文件夹,所以跟大家分享一下. 使用ls -i命令找到文件或文件夹的节点编号 前面的就是节点号了,接下来使用find命令查询并且删除 -inum指根据节点

常用文件(夹)处理方法工具类

功能:文件夹创建.文件删除.文件保存和读取.文件压缩与解压缩.excel文件打印 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import ja

python shutil 文件(夹)的复制、删除、移动、压缩和解压

高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) shutil.copyfile(src, dst)拷贝文件 shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在 shutil.copymode(src, ds

linux下SVN忽略文件/文件夹的方法

linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录),如果报错请看下面 3. 打开的文件就是忽略列表文件了(默认是空的),每一行是一项,在该文件中输入temp,保存退出 4. svn st查看状态,temp的?状态已经消除了 如果在svn propedit svn:ignore .时报错:svn: None of the environment va

ios 7.1 7.1.1 半完美越狱后 电脑訪问手机越狱文件夹的方法

7.1和7.1.1因为越狱不成熟,半完美越狱后电脑上无法訪问系统越狱文件夹,如var usr 等等. 今天有些意外地发现,能够在电脑上使用手机的越狱文件夹我手机 i4 7.1.1 联通 半完美越狱,没装Afc2Add,也没装Appsync 附上  --->我的半完美越狱过程 好了,以下直接正题 一.前提,必须安装ifile!     打开ifile,并转到 /var/mobile/media 文件夹下,然后点击右上角的 [ 编辑 ]如图: 二.点左下角的 + 号创建,如图: 三.点 [ 类型],

【Python】Python对文件夹的操作

上一篇介绍了Python对文件的读写操作,现在来介绍一下Python对文件夹的操作.由于我是项目中用到的,所以我就以我的实际应用实例来说明吧.希望对大家有所帮助. 1.实例需求: 现在有一个文件夹myDir,该文件夹中又有n个文件夹dir1,Dir2, ..., dirN,每个文件夹中又有m个文件,这个实例需要达到的目的就是要将这n个文件夹dir1,Dir2, ..., dirN中的所有文件全部写到一个新文件中,该新文件在文件夹myDir下. 2.源代码: test.py代码如下: import