jjzjj

python - python zipfile 是线程安全的吗?

在一个django项目中,我需要为db中的对象生成一些pdf文件。由于每个文件都需要几秒钟的时间才能生成,因此我使用celery异步运行任务。问题是,我需要将每个文件添加到一个zip存档中。我打算使用pythonzipfile模块,但不同的任务可以在不同的线程中运行,我想知道如果两个任务同时尝试将文件添加到存档中会发生什么情况。下面的代码线程安全吗?我在python的官方文档中找不到任何有值(value)的信息。try:zippath=os.path.join(pdf_directory,'archive.zip')zipfile=ZipFile(zippath,'a')zipfile

Python zipfile 从二进制文件中删除执行权限

不确定为什么会这样,但是当我在命令行运行解压缩文件(例如apache-groovy-binary-2.4.7.zip)时...目录是rwx-r-xr-x文件是rwxr-xr-x或rw-r--r--但是当我从同一文件上的Python2.7脚本运行zipfile.extractall()时...目录是rwx-r-x---文件都是rw-r------即使是按照上面的规定应该是可执行文件。我的umask设置是0027—这部分解释了发生了什么,但为什么要从所有文件中删除可执行位?让Python采用与命令行版本相似的行为的最简单修复方法是什么(当然,除了shellingout!)?

python - Python 中的 ZipFile 模块出现错误的魔数(Magic Number)错误

我在Windows7(64位)上使用Python2.7。当我尝试使用ZipFile模块解压缩zip文件时,出现以下错误:-Traceback(mostrecentcalllast):File"unzip.py",line8,inz.extract(name)File"C:\Python27\lib\zipfile.py",line950,inextractreturnself._extract_member(member,path,pwd)File"C:\Python27\lib\zipfile.py",line993,in_extract_membersource=self.open

python - 打开不受支持的压缩类型的 zipfile 静默返回空文件流,而不是抛出异常

新手错误似乎让我大吃一惊,我不是新手。我有一个1.2G的已知良好压缩文件'train.zip',其中包含一个3.5G的文件'train.csv'。我打开zip文件并自行归档,没有任何异常(没有LargeZipFile),但生成的文件流似乎是空的。(UNIX'unzip-c...'确认它是好的)PythonZipFile.open()返回的文件对象不可搜索或可辨别,因此我无法检查。Python发行版是2.7.3EPD-free7.3-1(32位);但对于大zipper应该没问题。操作系统为MacOS10.6.6importcsvimportzipfileaszfzip_pathname=

Python zipfile.extract() 不提取所有文件

我正在尝试使用此处找到的代码提取压缩文件夹。defunzip(source_filename,dest_dir):withzipfile.ZipFile(source_filename)aszf:formemberinzf.infolist():words=member.filename.split('/')path=dest_dirforwordinwords[:-1]:drive,word=os.path.splitdrive(word)head,word=os.path.split(word)ifwordin(os.curdir,os.pardir,''):continuepat

python - Python 的 zipfile 模块的更快替代品?

是否有比Python2.7.4zipfile模块(带有ZIP_DEFLATED)更快的替代方案用于将大量文件压缩到单个zip文件中?我看了一下czipfilehttps://pypi.python.org/pypi/czipfile/1.0.0,但这似乎侧重于更快的解密(而不是压缩)。我经常需要处理大量图像文件(约12,000个.exr和.tiff文件的组合文件),每个文件的大小在~1MB-6MB之间(所有文件约9GB)打包成一个zip文件以便发货。此压缩过程大约需要90分钟来处理(在Windows764位上运行)。如果有人可以推荐一个不同的python模块(或者C/C++库甚至一个独

python - 将文件添加到现有的 zipfile

我正在使用python的zipfile模块。将zip文件放在以下路径中:/home/user/a/b/c/test.zip并在/home/user/a/b/c/1.txt下创建另一个文件我想将此文件添加到现有的zip中,我这样做了:zip=zipfile.ZipFile('/home/user/a/b/c/test.zip','a')zip.write('/home/user/a/b/c/1.txt')zip.close()`并且在解压缩文件时得到所有子文件夹出现在路径中,我如何只输入没有路径子文件夹的压缩文件?我也试过:zip.write(os.path.basename('/hom

python - 如何在 Python 中使用 Zipfile 压缩具有扁平目录结构的文件?

我正在使用ZipFile包在Python中压缩文件。这是我的代码:archive=zipfile.ZipFile(join(settings.ARCHIVES_DIR,'test.zip'),"a")forpdffileinglob.glob(join(settings.IBILLING_DIR,'*.pdf')):archive.write(pdffile)archive.close()我面临的问题是创建的ZIP文件包含一个目录结构。添加的文件带有完整路径,这意味着提取存档的用户最终也将获得一个目录结构。我想将文件添加到ZIP但没有任何目录结构。我该怎么做?我没有在文档中找到此信息。

python - 在 Python 中循环 zipfile 时,我怎么知道一个项目是一个目录?

做这样的事情:fromzipfileimportZipFile#openzipfilezipfile=ZipFile('Photo.zip')#iteratezipcontentsforzipinfoinzipfile.filelist:#dosomethingfilepath,filename=path.split(zipinfo.filename)我如何知道zipinfo是文件还是目录? 最佳答案 可能这是正确的方法:is_dir=lambdazipinfo:zipinfo.filename.endswith('/')

python - ZipFile.testzip() 在 Python 2 和 Python 3 上返回不同的结果

在Python中使用zipfile模块解压缩大型数据文件在Python2上可以正常工作,但在Python3.6.0上会产生以下错误:BadZipFile:文件“myfile.csv”的错误CRC-32我将其追溯到检查CRC值的错误处理代码。在Python2上使用ZipFile.testzip()不会返回任何结果(所有文件都很好)。在Python3上运行它返回'myfile.csv'表示该文件有问题。在Python2和Python3上重现的代码(涉及300MB下载,抱歉):importzipfileimporturllibimportsysurl="https://de.iplantco