Python打包文件夹(zip/tar/tar.gz)

简介:

Code tells all:

一、zip

1
2
3
4
5
6
7
8
9
10
11
12
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
16
17
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()


相关阅读:

1、zipfile — Work with ZIP archives

2、tarfile — Read and write tar archive files

3、Python压缩/解压gzip大文件


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1719427如需转载请自行联系原作者


RQSLT

相关文章
|
21天前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
51 20
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
106 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
4月前
|
XML JSON Ubuntu
Python实用记录(十五):PyQt/PySide6打包成exe,精简版(nuitka/pyinstaller/auto-py-to-exe)
本文介绍了使用Nuitka、PyInstaller和auto-py-to-exe三种工具将Python的PyQt/PySide6应用打包成exe文件的方法。提供了详细的安装步骤、打包命令和参数说明,适合新手学习和实践。
911 0
|
4月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
185 1
Python实用记录(十三):python脚本打包exe文件并运行
|
4月前
|
Python
Python实用记录(十二):文件夹下所有文件重命名以及根据图片路径保存到新路径下保存
这篇文章介绍了如何使用Python脚本对TTK100_VOC数据集中的JPEGImages文件夹下的图片文件进行批量重命名,并将它们保存到指定的新路径。
56 0
|
4月前
|
Python
如何利用Python快捷地操作文件和文件夹
关注B站用户“肆十二-”,观看更多实战教学视频。本文介绍Python的shutil库,涵盖文件和文件夹的复制、移动、删除及归档等高级操作,提供实用代码示例。
43 0
|
4月前
|
人工智能 API iOS开发
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
51 0
|
4月前
|
Python
Python批量自动处理文件夹
Python批量自动处理文件夹
44 0
Python批量自动处理文件夹
|
5月前
|
Python
Python中的zip:高效处理并行迭代的利器
Python中的zip:高效处理并行迭代的利器
61 0
|
5月前
|
数据处理 Python
python遍历文件夹所有文件按什么排序
python遍历文件夹所有文件按什么排序
44 0

热门文章

最新文章