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

作者:RQSLT 时间:2022-01-14 17:40:55 

本文实例讲述了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.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


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,打包,文件夹,zip,tar,tar.gz
0
投稿

猜你喜欢

  • Python Pygame实战之塔防游戏的实现

    2021-12-15 08:57:22
  • 面向站长和网站管理员的Web缓存加速指南[翻译]

    2008-04-22 21:04:00
  • Python骚操作完美实现短视频伪原创

    2023-09-18 08:16:55
  • python dict remove数组删除(del,pop)

    2022-11-17 05:24:03
  • 比较规范的验证Email地址是否正确的正则表达式

    2009-07-28 17:55:00
  • pymysql 插入数据 转义处理方式

    2024-01-23 08:43:29
  • 常见系统中文字体的英文名

    2008-03-03 12:44:00
  • python 实现二维数组的索引、删除、拼接操作

    2021-03-01 10:28:08
  • 列出SQL Server中具有默认值的所有字段的语句

    2024-01-16 20:17:27
  • 解决oracle用户连接失败的解决方法

    2011-01-04 19:35:00
  • JavaScript数组合并的8种常见方法小结

    2024-04-16 09:32:55
  • Mysql常见的慢查询优化方式总结

    2024-01-26 02:17:04
  • 浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考

    2024-05-22 10:41:23
  • 利用XMLBean轻轻松松读写XML

    2008-09-04 11:25:00
  • js编写的语法高亮引擎工具

    2008-05-25 13:27:00
  • python模拟登录并且保持cookie的方法详解

    2023-09-06 06:07:16
  • Python实现比较两个列表(list)范围

    2022-07-20 18:08:04
  • IE下中英文字体不能对齐原因及解决

    2008-08-11 12:47:00
  • 在Python中操作字符串之rstrip()方法的使用

    2022-03-22 18:34:36
  • 分享jQuery的3种常见事件监听方式

    2024-02-23 10:21:35
  • asp之家 网络编程 m.aspxhome.com