标签: unzip

为目录中的每个zip文件创建一个专用文件夹并解压缩zip文件

如果我选择一个zip文件并右键单击"在此处提取",则会创建一个包含zip文件名的文件夹,并将zip文件的整个内容提取到其中.

但是,我想通过shell转换几个zip文件.但是,当我这样做

unzip filename.zip
Run Code Online (Sandbox Code Playgroud)

该文件夹"filename"未创建,但所有文件都被解压缩到当前目录中.

我查看了参数,但没有这样的参数.我也试过了

for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done
Run Code Online (Sandbox Code Playgroud)

.zip必须使用sed删除2. $ zipfile和4. $ zipfile 的扩展名.如果我做

for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done 
Run Code Online (Sandbox Code Playgroud)

它不起作用.

如何正确更换.zip扩展名$zipfile

有没有比shell脚本更简单的方法?

linux shell awk sed unzip

48
推荐指数
4
解决办法
6万
查看次数

如何在NodeJs中下载和解压缩内存中的zip文件?

我想从互联网上下载一个zip文件并将其解压缩到内存而不保存到临时文件.我怎样才能做到这一点?

这是我尝试过的:

var url = 'http://bdn-ak.bloomberg.com/precanned/Comdty_Calendar_Spread_Option_20120428.txt.zip';

var request = require('request'), fs = require('fs'), zlib = require('zlib');

  request.get(url, function(err, res, file) {
     if(err) throw err;
     zlib.unzip(file, function(err, txt) {
        if(err) throw err;
        console.log(txt.toString()); //outputs nothing
     });
  });
Run Code Online (Sandbox Code Playgroud)

[编辑]正如,建议,我尝试使用adm-zip库,我仍然无法使这项工作:

var ZipEntry = require('adm-zip/zipEntry');
request.get(url, function(err, res, zipFile) {
        if(err) throw err;
        var zip = new ZipEntry();
        zip.setCompressedData(new Buffer(zipFile.toString('utf-8')));
        var text = zip.getData();
        console.log(text.toString()); // fails
    });
Run Code Online (Sandbox Code Playgroud)

javascript zip zlib unzip node.js

42
推荐指数
2
解决办法
4万
查看次数

从zip中提取文件而不使用python ZipFile保留结构?

我尝试从包含一个文件夹中的子文件夹的.zip中提取所有文件.我希望子文件夹中的所有文件只在一个文件夹中提取,而不保留原始结构.此刻,我提取所有内容,将文件移动到文件夹,然后删除以前的子文件夹.具有相同名称的文件被覆盖.

在写文件之前可以这样做吗?

这是一个结构,例如:

my_zip/file1.txt
my_zip/dir1/file2.txt
my_zip/dir1/dir2/file3.txt
my_zip/dir3/file4.txt
Run Code Online (Sandbox Code Playgroud)

最后我告诉你:

my_dir/file1.txt
my_dir/file2.txt
my_dir/file3.txt
my_dir/file4.txt
Run Code Online (Sandbox Code Playgroud)

我可以在此代码中添加什么内容?

import zipfile
my_dir = "D:\\Download\\"
my_zip = "D:\\Download\\my_file.zip"

zip_file = zipfile.ZipFile(my_zip, 'r')
for files in zip_file.namelist():
    zip_file.extract(files, my_dir)
zip_file.close()
Run Code Online (Sandbox Code Playgroud)

如果我从zip_file.namelist()重命名文件路径,我有这个错误:

KeyError: "There is no item named 'file2.txt' in the archive"
Run Code Online (Sandbox Code Playgroud)

python extract unzip zipfile

41
推荐指数
4
解决办法
3万
查看次数

使用zlib解压缩.zip文件的简单方法

是否有一个简单的示例,说明如何解压缩.zip文件并将文件解压缩到目录?我目前正在使用zlib,虽然我知道zlib没有直接处理zip文件,但在zlibs的"contrib"库中似乎还有其他一些东西.我注意到并阅读了"minizip",在阅读了一些文档并查看了一些代码之后,我没有看到如何解压缩.zip文件并将文件解压缩到目录的简单示例.

我想找到一种独立于平台的方式,但如果不可能,那么我需要为windows和mac找到一种方法.

c++ zip zlib unzip

38
推荐指数
2
解决办法
10万
查看次数

用Maven打开拉链内拉链

我可以通过maven-dependency插件解压zip文件,但目前我有问题,在zip文件里面包含其他zip文件,我也需要解压缩它们.我怎样才能做到这一点?

zip maven-2 unzip archive maven

37
推荐指数
3
解决办法
3万
查看次数

我想通过(Python)创建一个解压缩(.tar.gz)文件的脚本

我正在尝试制作一个脚本,用于从一个目录中的文件夹中解压缩所有.tar.gz文件.例如,我将调用一个文件(testing.tar.gz).然后如果我手动操作,我可以按"提取",然后.tar.gz文件将创建一个新文件,并调用testing.tar.最后,如果我重复按"提取此处"的过程,.tar文件会将所有.pdf文件生成.

我想知道我怎么能这样做,而且我的代码在这里,似乎并不是现实的工作.

import os
import tarfile
import zipfile

def extract_file(path, to_directory='.'):
    if path.endswith('.zip'):
        opener, mode = zipfile.ZipFile, 'r'
    elif path.endswith('.tar.gz') or path.endswith('.tgz'):
        opener, mode = tarfile.open, 'r:gz'
    elif path.endswith('.tar.bz2') or path.endswith('.tbz'):
        opener, mode = tarfile.open, 'r:bz2'
    else: 
        raise ValueError, "Could not extract `%s` as no appropriate extractor is found" % path

    cwd = os.getcwd()
    os.chdir(to_directory)

    try:
        file = opener(path, mode)
        try: file.extractall()
        finally: file.close()
    finally:
        os.chdir(cwd)
Run Code Online (Sandbox Code Playgroud)

python gzip unzip tar

37
推荐指数
3
解决办法
6万
查看次数

如何压缩和解压缩文件?

如何压缩和解压缩已经存在于DDMS中的文件:data/data/mypackage/files/我需要一个简单的例子.我已经搜索过zip和解压缩相关内容.但是,没有一个例子可供我使用.谁能说出一些例子.提前谢谢.

zip android file unzip

34
推荐指数
4
解决办法
4万
查看次数

打开失败:EBUSY(设备或资源繁忙)

我的应用程序中有一个奇怪的错误.

在我的应用程序中,可以下载zipFile,读取内容,并删除它.它究竟是什么并不重要.

问题:仅在Motorola Xoom(版本4.0.4)上我可以下载文件,解压缩,我可以读取数据,我可以删除所有内容.但是,如果我再次尝试下载文件并解压缩文件并将文件复制到SD卡,则会因错误EBUSY(设备或资源繁忙)而崩溃.

  1. 为什么它只是第一次工作?
  2. 什么意思错误?
  3. 为什么我只在Xoom上出现此错误?

我找不到任何解决方案.在所有其他设备上它工作正常,没有错误或问题.

logcat的:

07-18 12:27:46.774: E/PrepareMagTask(10057): IOException
07-18 12:27:46.774: E/PrepareMagTask(10057): java.io.FileNotFoundException: /mnt/sdcard/Android/data/com.xxxxxx.android/files/content/23760/emag.db: open failed: EBUSY (Device or resource busy)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at libcore.io.IoBridge.open(IoBridge.java:406)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at com.xxxxx.android.util.io.ZipHelper.uncompressEntry(ZipHelper.java:35)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at com.xxxxx.android.task.PrepareMagTask.doInBackground(PrepareMagTask.java:271)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at com.xxxxx.android.task.PrepareMagTask.doInBackground(PrepareMagTask.java:1)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-18 12:27:46.774: E/PrepareMagTask(10057):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) …
Run Code Online (Sandbox Code Playgroud)

android inputstream unzip

34
推荐指数
2
解决办法
3万
查看次数

如何加快Java/Android的解压缩时间?

解压缩android上的文件似乎非常慢.起初我以为这只是模拟器,但在手机上似乎是一样的.我尝试过不同的压缩级别,并最终降级到存储模式,但仍需要很长时间.

无论如何,一定有理由!还有其他人有这个问题吗?我的解压缩方法如下所示:

public void unzip()
{
try{
        FileInputStream fin = new FileInputStream(zipFile);
        ZipInputStream zin = new ZipInputStream(fin);
        File rootfolder = new File(directory);
        rootfolder.mkdirs();
        ZipEntry ze = null;
        while ((ze = zin.getNextEntry())!=null){

            if(ze.isDirectory()){
                dirChecker(ze.getName());
            }
            else{
                FileOutputStream fout = new FileOutputStream(directory+ze.getName());

            for(int c = zin.read();c!=-1;c=zin.read()){
                fout.write(c);
            }
                //Debug.out("Closing streams");
                zin.closeEntry();
                fout.close();

        }
    }
    zin.close();
}
catch(Exception e){
            //Debug.out("Error trying to unzip file " + zipFile);

}
    }
Run Code Online (Sandbox Code Playgroud)

java android unzip zipinputstream android-emulator

33
推荐指数
4
解决办法
2万
查看次数

如何从Python中的zip文件中读取zip文件?

我有一个我想要阅读的文件,它本身是在zip存档中压缩的.例如,parent.zip包含child.zip,其中包含child.txt.我在阅读child.zip时遇到了麻烦.谁能纠正我的代码?

我假设我需要创建一个类似文件的对象的child.zip,然后用第二个zipfile实例打开它,但是对于python我是新的zipfile.ZipFile(zfile.open(name))是愚蠢的.它引发了一个zipfile.BadZip文件:"文件不是一个zip文件"on(独立验证)child.zip

import zipfile
with zipfile.ZipFile("parent.zip", "r") as zfile:
    for name in zfile.namelist():
        if re.search(r'\.zip$', name) is not None:
            # We have a zip within a zip
            with **zipfile.ZipFile(zfile.open(name))** as zfile2:
                    for name2 in zfile2.namelist():
                        # Now we can extract
                        logging.info( "Found internal internal file: " + name2)
                        print "Processing code goes here"
Run Code Online (Sandbox Code Playgroud)

python zip file unzip

33
推荐指数
2
解决办法
2万
查看次数