无论如何,我可以使用zipfile将动态生成的内容(例如新呈现的html模板)压缩到zip文件中吗?
对于压缩静态内容似乎有一些例子,但是没有用于压缩动态内容的例子.或者,它根本不可能吗?
还有一个问题:是否可以创建一个包含一堆子文件夹的zip文件?
谢谢.
我有一个本地文件夹中的zip和rar文件列表.
我需要做的就是提取zip文件的内容以及rar文件,并将它们保存在与相应存档文件同名的文件夹中.
由于我是as3的新手,我对此毫无头绪.
这个有没有图书馆?
提前致谢...
我有一个.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) 我在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)
提取部分是花费最多时间处理的部分.我需要减少这个时间.有没有办法我可以读取压缩文件夹中的文件内容而不提取它们?或者,如果有人知道任何其他方式可以帮助我减少此代码的时间?
提前致谢
我在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)
这将创建一个存档,其中包含两个名称和路径完全相同的文件.
为什么是这样?

我正在尝试从文件夹中的所有文件创建一个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)
很感谢任何形式的帮助.
编辑:我只想压缩文件夹中的文件,而不是它的子文件夹.
大多数情况下,这段代码都可以工作,但是,大约有 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) 有文件夹路径:
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 文件并向其中添加文件夹?
我遇到了文件访问问题。
主要问题是我无法在文件夹选择器获取的文件夹中写入 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'被拒绝'。
我想将循环创建的多个对象(例如图形)直接保存到 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)
在肯定回答的情况下,有没有办法对任何类型的对象做同样的事情,还是取决于对象类型?
非常感谢