标签: zipfile

在App Engine(Python)中压缩动态文件

无论如何,我可以使用zipfile将动态生成的内容(例如新呈现的html模板)压缩到zip文件中吗?

对于压缩静态内容似乎有一些例子,但是没有用于压缩动态内容的例子.或者,它根本不可能吗?

还有一个问题:是否可以创建一个包含一堆子文件夹的zip文件?

谢谢.

python google-app-engine zipfile

6
推荐指数
2
解决办法
2326
查看次数

使用as3解压缩并保存文件?

我有一个本地文件夹中的zip和rar文件列表.
我需要做的就是提取zip文件的内容以及rar文件,并将它们保存在与相应存档文件同名的文件夹中.
由于我是as3的新手,我对此毫无头绪.
这个有没有图书馆?




提前致谢...

flash actionscript actionscript-3 zipfile

6
推荐指数
2
解决办法
7444
查看次数

Python Zipfile - 无效参数Errno 22

我有一个.zip文件,想知道其中的文件名.这是代码:

zip_path = glob.glob(path + '/*.zip')[0] 
file = open(zip_path, 'r') # opens without error
if zipfile.is_zipfile(file):
    print str(file) # prints to console
my_zipfile = zipfile.ZipFile(zip_path) # throws IOError
Run Code Online (Sandbox Code Playgroud)

这是追溯:

<open file u'/Users/me/Documents/project/uploads/assets/peter/offline_message/offline_imgs.zip', mode 'r' at 0x107b2a150>
Traceback (most recent call last):
  File "/Users/me/Documents/project/admin_dev/proj_name/views.py", line 1680, in get_dps_app_builder_assets
    link_to_assets_zip = zip_dps_app_builder_assets(server_url, app_slug, button_slugs)
  File "/Users/me/Documents/project/admin_dev/proj_name/views.py", line 1724, in zip_dps_app_builder_assets
    my_zipfile = zipfile.ZipFile(zip_path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 712, in __init__
    self._GetContents()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 746, in _GetContents
    self._RealGetContents()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 779, in …
Run Code Online (Sandbox Code Playgroud)

python zipfile

6
推荐指数
1
解决办法
1691
查看次数

如何减少提取文件所需的时间?

我在C#中创建了一个程序,它处理了大约30个压缩文件夹,总共有35000个文件.我的目的是读取每个文件以处理其信息.截至目前,我的代码提取所有文件夹,然后读取文件.这个过程的问题是它需要大约15-20分钟,这是很多.

我使用以下代码来提取文件:

void ExtractFile(string zipfile, string path)
{
    ZipFile zip = ZipFile.Read(zipfile);
    zip.ExtractAll(path);
}
Run Code Online (Sandbox Code Playgroud)

提取部分是花费最多时间处理的部分.我需要减少这个时间.有没有办法我可以读取压缩文件夹中的文件内容而不提取它们?或者,如果有人知道任何其他方式可以帮助我减少此代码的时间?

提前致谢

c# extract zipfile dotnetzip

6
推荐指数
1
解决办法
934
查看次数

Python zipfile模块创建多个具有相同名称的文件

我在python中有以下代码:

>>> import zipfile
>>> zip = zipfile.ZipFile('abc.zip', 'w')
>>> zip.writestr('myfile', 'This is sample text')
>>> zip.writestr('myfile', 'This is sample text')
>>> zip.close()
Run Code Online (Sandbox Code Playgroud)

这将创建一个存档,其中包含两个名称和路径完全相同的文件.

为什么是这样?

在此输入图像描述

python zipfile

6
推荐指数
1
解决办法
1289
查看次数

从文件夹中的所有文件创建zip文件

我正在尝试从文件夹中的所有文件创建一个zip文件,但无法在线找到任何相关的代码段.我正在尝试做这样的事情:

DirectoryInfo dir = new DirectoryInfo("somedir path");
ZipFile zip = new ZipFile();
zip.AddFiles(dir.getfiles());
zip.SaveTo("some other path");
Run Code Online (Sandbox Code Playgroud)

很感谢任何形式的帮助.

编辑:我只想压缩文件夹中的文件,而不是它的子文件夹.

c# zip zipfile

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

C# DotNetZip 错误:尚未计算最终哈希。在 Ionic.Zip.WinZipAesCipherStream.get_FinalAuthentication()

大多数情况下,这段代码都可以工作,但是,大约有 1/3 的时间,它通过了大约 80% 的时间并失败了。解压缩 x 射线图像文件时解压缩失败。(它们是没有文件扩展名的编号文件。)它似乎在大部分时间都能处理它们,但是,每隔一段时间就会有一个无法解压缩的 X 射线。当它在文件上失败时,它会给它一个带有随机扩展名的随机文件名。它似乎在解压缩时遇到了它不理解的字符组合。

它特别发生在 aes 加密的 zip 文件中。如果他们发送没有 aes 加密压缩的相同文件,那么程序会很好地解压缩它们。

当我使用 7zip 应用程序手动解压缩同一个 zip 文件时,我输入了相同的密码并且它工作得很好。

前任。文件应该是:00043 ==> 解压失败产生:1hzcqoee.nss

错误信息:

尚未计算最终散列。

堆栈跟踪:

在 Ionic.Zip.WinZipAesCipherStream.get_FinalAuthentication() 在 Ionic.Zip.ZipEntry.VerifyCrcAfterExtract(Int32calculatedCrc32, EncryptionAlgorithm encryptionAlgorithm, Int32 expectedCrc32, Stream archiveStream, Int64 uncompressedSize) at Ionic.Zip. encryptionAlgorithm, Int32 expectedCrc32) at Ionic.Zip.ZipEntry.InternalExtractToBaseDir(String baseDir, String password, ZipContainer zipContainer, ZipEntrySource zipEntrySource, String fileName) at Ionic.Zip.ZipFile._InternalExtractAll(String path, Boolean overrideExtractExistingNewPropertySystemsZip4) at Ionic.Zip.ZipEntry.InternalExtractToBaseDir(String baseDir, String password, ZipContainer zipContainer, ZipEntrySource zipEntrySource, String fileName) (字符串 zipToUnpack,字符串 unpackDirectory)

代码:

using Ionic.Zip;
public bool ExtractZip(string …
Run Code Online (Sandbox Code Playgroud)

c# zip hashcode zipfile dotnetzip

5
推荐指数
1
解决办法
632
查看次数

python: zipfile.ZipFile 没有那个文件或目录

有文件夹路径:

P:\\2018\\Archive\\
Run Code Online (Sandbox Code Playgroud)

我想以编程方式创建许多 zipfile,但我从测试开始。我将这个测试 zip 文件命名为“CO_007_II.zip”,并将尝试在上述位置创建:

import zipfile as zp

with zp.ZipFile("P:\\2018\\Archive\\CO_007_II.zip",'w') as myzip:
    myzip.write(r"P:\2018\CO_007_II")
Run Code Online (Sandbox Code Playgroud)

但我得到错误!

...

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python27\ArcGIS10.2\lib\zipfile.py", line 752, in __init__
    self.fp = open(file, modeDict[mode])
IOError: [Errno 2] No such file or directory: 'P:\\2018\\Archive\\CO_007_II.zip'
Run Code Online (Sandbox Code Playgroud)

这不是创建新 zipfile 的方法吗?我知道文件不存在。是为什么我使用“w”模式,不是吗?

这是文档:

https://docs.python.org/3/library/zipfile.html

它说:

'w' 截断并写入一个新文件

文档页面上的示例:

with ZipFile('spam.zip', 'w') as myzip:
    myzip.write('eggs.txt')
Run Code Online (Sandbox Code Playgroud)

代码在两天前工作以创建新的 zip 文件,但没有添加文件夹。今天没有任何效果!为什么不?所有路径都有效。如何使用 python 创建新的 zip 文件并向其中添加文件夹?

python errno zipfile

5
推荐指数
2
解决办法
6809
查看次数

为什么 ZipFile.CreateFromDirectory 在此处拒绝访问?

我遇到了文件访问问题。

主要问题是我无法在文件夹选择器获取的文件夹中写入 ZipFile

虽然我一直在研究这个项目,但在遇到这个 ZipFile 问题之前,我做了很多与创建文件、删除文件以及在该文件夹中创建文件夹相关的工作。这个问题似乎无关紧要。

正如文件访问文档所说,我对用户在使用文件夹选择器时选择的文件夹具有访问权限。

但我无法在该文件夹中创建此 ZipFile。以下是我的来源和例外。

string zipfPath = folder.Path + @"\" + i.ToString() + ".zip";
await folder.CreateFolderAsync("DADADAD");
ZipFile.CreateFromDirectory(folder.Path + @"/DADADAD", zipfPath);
Run Code Online (Sandbox Code Playgroud)

拒绝

为什么我无法访问该文件夹ZipFile.Create(Path string)?使用 UWP 时是否有其他要求?ZipFile.Create也许我只是我的误用?

编辑

异常消息遵循 System.UnauthorizedAccessException: 'Access to the Path 'C:\Users\yohan\Desktop\? ?? (2)\1.zip'被拒绝'。

c# zipfile uwp

5
推荐指数
1
解决办法
2382
查看次数

在Python中直接从内存中保存多个对象以压缩

我想将循环创建的多个对象(例如图形)直接保存到 zip 文件中,而不将它们保存在目录中。

目前我将这些数字保存在一个文件夹中,然后压缩它们。

    import matplotlib.pyplot as plt
    from zipfile import ZipFile

    for i in range(10):
        plt.plot([i, i])
        plt.savefig('fig_' + str(i) + '.png')
        plt.close()

    image_list = []
    for file in os.listdir(save_path):
        if file.endswith(".png"):
            image_list.append(os.path.join(save_path, file))

    with ZipFile(os.path.join(save_path, 'export.zip'), 'w') as zip:
        for file in image_list:
            zip.write(file)
Run Code Online (Sandbox Code Playgroud)

在肯定回答的情况下,有没有办法对任何类型的对象做同样的事情,还是取决于对象类型?

非常感谢

python zip matplotlib zipfile

5
推荐指数
1
解决办法
1740
查看次数