-
2021-04-11 23:44:33
1,Python 解压压缩包至文件夹
import zipfile with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref: zip_ref.extractall(directory_to_extract_to)
2,Python 把整个文件夹打包至压缩包
import os import zipfile def zipdir(path, ziph): # ziph is zipfile handle for root, dirs, files in os.walk(path): for file in files: ziph.write(os.path.join(root, file), os.path.relpath(os.path.join(root, file), os.path.join(path, '..'))) zipf = zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED) zipdir('tmp/', zipf) zipf.close()
更多相关内容 -
C#利用SharpZipLib解压或压缩文件夹实例操作-附件资源
2021-03-05 15:23:20C#利用SharpZipLib解压或压缩文件夹实例操作-附件资源 -
C#压缩解压文件夹
2014-03-14 10:53:04C#对文件夹进行压缩和解压,使用System.IO.Compression和System.IO.Compression.FileSystem进行处理。C#对文件夹进行压缩和解压,使用System.IO.Compression和System.IO.Compression.FileSystem进行处理。
包括ZipFile 类、ZipArchive 类、ZipArchiveEntry 类,通过这几个类的有机结合,可以处理各种问题。
一、把一个文件夹压缩为一个文件
ZipFile.CreateFromDirectory(sourceDirectory, destinationFile);
sourceDirectory:源文件夹
destinationFile:压缩后的文件
二、把一个压缩文件进行解压
ZipFile.ExtractToDirectory(sourceFile, destinationDirectory);
sourceFile:源文件,准备解压的文件
destinationDirectory:目标文件夹
三、通过ZipArchiveEntry,解压某一个文件
string zipPath = @"c:\example\start.zip"; //准备解压的压缩文件
string extractPath = @"c:\example\extract";//目标文件夹
string fileName="readme.txt";//目标文件夹
using (ZipArchive archive = ZipFile.OpenRead(sourceFile))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName=fileName)
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
}
四、通过ZipArchiveEntry,解压某一个文件为流
string zipPath = @"c:\example\start.zip";
string extractPath = @"c:\example\extract";
string fileName="readme.txt";
using (ZipArchive archive = ZipFile.OpenRead(sourceFile))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.Equals(fileName))
{
Stream sm = entry.Open();returm sm;
}
}
}
-
Linux下如何解压文件夹下所有.gz的文件?
2017-09-18 09:50:00手欠不小心把一文件夹下所有的文件逐个压缩了,压缩后都是.gz格式,求如何还原?求助大大们!! -
java解压zip文件至指定文件夹
2021-02-28 11:05:09如何把文件打包为zip包,那么反过来怎么把zip文件包解压为正常文件呢?把zip包解压为正常文件包,要比把文件打包为zip简单一点。因为存在多级文件的压缩,却不存在多级文件的解压缩。也就是说,压缩时,你要把所有...前面,笔者讲到。如何把文件打包为zip包,那么反过来怎么把zip文件包解压为正常文件呢?把zip包解压为正常文件包,要比把文件打包为zip简单一点。因为存在多级文件的压缩,却不存在多级文件的解压缩。也就是说,压缩时,你要把所有文件都塞到压缩包里。而解压缩只需要解压一级,压缩包里面的压缩文件则不必理会。
直接上代码喽:
/**
* 解压文件
* @param zipPath 要解压的目标文件
* @param descDir 指定解压目录
* @return 解压结果:成功,失败
*/
@SuppressWarnings("rawtypes")
public boolean decompressZip(String zipPath, String descDir) {
File zipFile = new File(zipPath);
boolean flag = false;
File pathFile = new File(descDir);
if(!pathFile.exists()){
pathFile.mkdirs();
}
ZipFile zip = null;
try {
zip = new ZipFile(zipFile, Charset.forName("gbk"));//防止中文目录,乱码
for(Enumeration entries = zip.entries(); entries.hasMoreElements();){
ZipEntry entry = (ZipEntry)entries.nextElement();
String zipEntryName = entry.getName();
InputStream in = zip.getInputStream(entry);
//指定解压后的文件夹+当前zip文件的名称
String outPath = (descDir+zipEntryName).replace("/", File.separator);
//判断路径是否存在,不存在则创建文件路径
File file = new File(outPath.substring(0, outPath.lastIndexOf(File.separator)));
if(!file.exists()){
file.mkdirs();
}
//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
if(new File(outPath).isDirectory()){
continue;
}
//保存文件路径信息(可利用md5.zip名称的唯一性,来判断是否已经解压)
System.err.println("当前zip解压之后的路径为:" + outPath);
OutputStream out = new FileOutputStream(outPath);
byte[] buf1 = new byte[2048];
int len;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
in.close();
out.close();
}
flag = true;
//必须关闭,要不然这个zip文件一直被占用着,要删删不掉,改名也不可以,移动也不行,整多了,系统还崩了。
zip.close();
} catch (IOException e) {
e.printStackTrace();
}
return flag;
}
找个例子实现一下:
就你了!
调用:
String deal_zip = "C:\\20180909.zip";
String agter_zip = "D:\\red_ant_file";//解压完塞到这里吧
boolean is_success = AllServiceIsHere.decompressZip(deal_zip, agter_zip);
if(is_success) {
System.err.println("恭喜你,解压成功!");
}else {
System.err.println("sorry, you failed!");
}
走你!
嗯嗯,达到了我所要求的。赶集去喽!
-
Python:对压缩包进行解压操作
2022-01-23 23:26:38简介:为解决文件和文件夹移动传输,有压缩文件和文件夹操作,就存在解压压缩文件和文件夹的操作。上一篇简单接触了shutil模块:Python:shutil模块使用,同时该模块支持对文件和文件夹进行压缩,接下来介绍两种简单...简介:为解决文件和文件夹移动传输,有压缩文件和文件夹操作,就存在解压压缩文件和文件夹的操作。上一篇简单接触了shutil模块:Python:shutil模块使用,同时该模块支持对文件和文件夹进行压缩,接下来介绍两种简单的解压压缩包的模块使用。
平时接触比较多的压缩文件类型主要有5种:.gz .tar .tgz .zip .rar
gz:即gzip。通常仅仅能压缩一个文件。与tar结合起来就能够实现先打包,再压缩。 tar:linux系统下的打包工具。仅仅打包。不压缩 tgz:即tar.gz。先用tar打包,然后再用gz压缩得到的文件 zip:不同于gzip。尽管使用相似的算法,能够打包压缩多个文件。只是分别压缩文件。压缩率低于tar。 rar:打包压缩文件。最初用于DOS,基于window操作系统。
以zip和tar压缩包的解压为例,其他形式大同小异,参考即可。
zip文件解压源码:
import zipfile import os def un_zip(file_name, dst): """解压 zip 文件""" zip_file = zipfile.ZipFile(file_name) if os.path.isdir(dst): pass else: os.mkdir(dst) for names in zip_file.namelist(): zip_file.extract(names, dst) zip_file.close() if __name__ == '__main__': file_name = r"D:\codes\ai2022\test5\test_zip.zip" dst = r"D:\codes\ai2022\test5\out_put" un_zip(file_name, dst)
zip解压执行结果:
tar文件解压源码:
import tarfile import os def un_tar(file_name, dst): """解压 tar 文件""" tar = tarfile.open(file_name) names = tar.getnames() if os.path.isdir(file_name + "_files"): pass else: os.mkdir(file_name + "_files") # 因为解压后是很多文件,预先建立同名目录 for name in names: tar.extract(name, file_name + "_files/") tar.close() if __name__ == '__main__': file_name = r"/mnt/c/goPro/test_tar.tar" dst_tar = r"/mnt/c/goPro/out_put" un_tar(file_name, dst_tar)
tar解压执行:
tar解压执行结果:
微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!
-
如何解压文件夹下的子文件到同一个文件夹
2019-12-11 15:44:38第一步:选择要解压的压缩包 第二步:点击鼠标右键,选择解压文件 第三步:在弹出来的窗口,高级选项里面,把不要提取路径选上,然后点击确定 结果: ... -
Linux解压文件到指定目录的方法
2021-01-20 16:06:38本文介绍了Linux解压文件到指定目录的方法,分享给大家,具体如下: tar在Linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :create 建立压缩档案的参数; -... -
jupyter notebook 压缩/解压文件夹
2021-01-21 19:31:38转载请注明出处!!! 压缩 压缩成zip格式 # 压缩当前路径所有文件,输出zip文件 path='./' import zipfile,os...file.extractall('./') files.close() 待更 欢迎小伙伴们在评论区,分享解压/压缩的代码 未完待续。。。 -
Perl 复制整个文件夹
2019-07-29 11:47:11perl copy只能复制文件,不能复制文件夹,因此只能用外扩包进行文件夹的复制 包的下载步骤: 进入http://search.cpan.org; 搜索File::Copy::Recursive; 点击第一个并下载; 下载后解压,获取File-Copy-... -
php ZipArchive 压缩整个文件夹
2019-05-09 08:40:00// Get real path for our folder $rootPath = realpath('folder-to-zip'); // Initialize archive object $zip = new ZipArchive();...open('file.zip', ZipArchive::CREATE | ZipArchive::OVERW... -
在Ubuntu下如何压缩与解压一个文件夹
2020-01-07 21:02:49.zip 解压:unzip FileName.zip 压缩:zip -r FileName.zip DirName -
android开发环境中SDK文件夹下的所需内容详解
2020-08-25 15:47:54在本篇文章里小编给大家整理的是关于android开发环境中SDK文件夹下的所需内容详解,有兴趣的朋友们参考学习下。 -
Linux 压缩某个文件夹的实现方法
2020-09-15 06:48:45主要介绍了Linux 压缩某个文件夹的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下 -
CentOS下tar打包解压详解(解压到指定文件夹)
2020-12-19 10:40:55本文介绍了tar命令、gzip, zcat 命令、bzip2, bzcat 命令、compress 命令、dd 命令、cpio 命令,具体如下:tar命令解压文件到指定目录:tar -zxvf /home/zjx/aa.tar.gz -C /home/zjx/pftar [-cxtzjvfpPN] 文件与目录... -
C#利用SharpZipLib解压或压缩文件夹实例操作
2019-06-29 11:13:051、压缩文件夹类 /// <summary> /// 压缩文件夹类 /// </summary> public class ZipFloderClass { public void ZipFile(string strFile, string strZip) { if (strFile[strFile.Length - 1] != ... -
使用java API进行zip递归压缩文件夹以及解压
2020-08-10 08:37:56在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压。所有这些都是使用Java提供的核心库java.util.zip来实现的。 二、压缩文件 首先我们来学习一个简单的例子-压缩单个文件。将一个名为test1.... -
jupyter notebook上传整个文件夹
2020-02-21 09:52:06先压缩成压缩文件,上传后再进行解压 import zipfile import os files = zipfile.ZipFile(‘hymenoptera_data.zip’,‘r’) files.extractall(os.getcwd()) -
SharpCompress的压缩文件解压和文件夹压缩
2018-07-01 16:34:00最近做一个功能需要用到对压缩文件的解压,就找到了这个SharpCompress不错,还能解压rar的文件。但是网上的资料和我拿到的SharpCompress.dll的方法有些出入,所以我就自己摸索了一下搞出来了,代码比较简单希望可以... -
java实现上传zip解压及判断压缩包文件夹功能
2019-08-06 11:32:48直接上Service,通过代码看思路贯穿整个功能,很多工具类可以复用,文件路径可以去看我博客里的 (使用ResourceBundle国际化资源文件读取properties详解)这篇制作方法 url: https://blog.csdn.net/qq... -
解压文件夹下所有压缩包文件,并将压缩包下多层文件夹下文件拷贝至压缩包名文件夹下
2017-02-09 20:16:32//处理多层解压后文件夹下面有文件夹 String fileName = fs.getName(); //获取解压后压缩包路径 String unZipPath = initPath + "\\" +fileName; int index = unZipPath.indexOf("."); unZipPath ... -
Qt下压缩解压文件夹(2)Qzipwriter Qzipreader
2020-05-20 16:36:28使用了Qt的库来进行压缩解压的。 修改pro文件 QT += gui-private 导入头文件 #include <private/qzipwriter_p.h> #include <private/qzipreader_p.h> 压缩 void zipWriter(QString path) { ... -
压缩整个文件夹,不包括文件夹的名字;解压文件夹,不包括文件夹的名字
2012-01-06 10:31:39<!-- 压缩整个文件夹,不包括文件夹的名字 解压文件夹,不包括文件夹的名字 --> -
linux tar打包解压详解 解压到指定文件夹
2015-09-17 14:36:00编写shell脚本的时候经常需要解压缩到指定的文件夹,tar命令是最常用的 参考一下说明,其中注意-C的用法。 tar命令 解压文件到指定目录:tar -zxvf /home/zjx/aa.tar.gz -C /home/zjx/pf tar [-cxtzjvfpPN] 文件与... -
求助,请各位大神请解答?
2017-05-31 07:22:55都放根目录肯定很混乱啊,如果新建一个文件夹A放另一个系统解压后的文件,那么根目录下那个系统在装系统时会使用这个文件夹A吗?装系统时,是怎么判断哪些文件夹应该被导入,哪些不应该?如果我把本应该导入的文件夹... -
阿里云oss 上传整个文件夹
2019-04-04 16:19:24当前服务器使用目录为:D:\wamp64\www,所以cloud2也必须解压在目录中:D:\wamp64\www\cloud2;对于环境搭建的设置很简单,只需要将文件放入使用目录中即可。 安装好HBuilder,打开时会有登录的设置,现在的开发... -
使用bat脚本对文件夹进行复制、压缩、解压操作
2020-10-09 16:05:11把E盘的文件夹abc,整个拷贝到E盘copy文件夹内。 /y 复制文件审核设置(隐含 /O)。 /s 复制目录和子目录,除了空的。 /e 复制目录和子目录,包括空的。 /h 也复制隐藏和系统文件。 若使用命令行参数确定文件夹路径,... -
linux 文件夹打包、解压命令大全
2021-05-09 01:42:50TAR压缩tar-zcvf/data/backup.tar.gz/wwwroottar -zcvf 打包后生成的文件名全路径 要打包的目录以上的例子:把/wwwroot文件夹打包后生成一个/data/backup.tar.gz的文件。ZIP压缩压缩当前的文件夹 zip -r ./wwwroot.... -
jupyter上传文件夹方法
2021-10-19 20:27:21首先,jupyter是无法上传文件夹的,只能依靠上传压缩文件然后解压曲线救国。 zip文件 import zipfile f = zipfile.ZipFile("PennFudanPed.zip",'r') # 原压缩文件在服务器的位置 for file in f.namelist(): f....