草庐IT

zip-bomb

全部标签

python - 解压文件导致 "BadZipFile: File is not a zip file"

我有两个zip文件,它们都可以用WindowsExplorer和7-zip很好地打开。但是,当我使用Python的zipfile模块[zipfile.ZipFile("filex.zip")]打开它们时,其中一个会打开,但另一个会出现错误“BadZipfile:Fileisnotazipfile”。我通过使用7-Zip打开它并查看其属性(如7Zip.ZIP)来确定后者是一个有效的Zip文件。当我用文本编辑器打开文件时,前两个字符是“PK”,表明它确实是一个zip文件。我正在使用Python2.5并且真的不知道如何去做。我在Windows和Ubuntu上都试过了,两个平台上都存在问题。更

python - 解压文件导致 "BadZipFile: File is not a zip file"

我有两个zip文件,它们都可以用WindowsExplorer和7-zip很好地打开。但是,当我使用Python的zipfile模块[zipfile.ZipFile("filex.zip")]打开它们时,其中一个会打开,但另一个会出现错误“BadZipfile:Fileisnotazipfile”。我通过使用7-Zip打开它并查看其属性(如7Zip.ZIP)来确定后者是一个有效的Zip文件。当我用文本编辑器打开文件时,前两个字符是“PK”,表明它确实是一个zip文件。我正在使用Python2.5并且真的不知道如何去做。我在Windows和Ubuntu上都试过了,两个平台上都存在问题。更

Python range() 和 zip() 对象类型

我了解如何在for循环中使用range()和zip()等函数。但是我希望range()输出一个列表-很像unixshell中的seq。如果我运行以下代码:a=range(10)print(a)输出是range(10),表明它不是一个列表,而是一种不同类型的对象。zip()在打印时有类似的行为,输出类似所以我的问题是它们是什么,制作它们有什么优势,以及如何在不循环它们的情况下将它们的输出输出到列表? 最佳答案 您必须使用Python3。在Python2中,对象zip和range确实按照您的建议行事,返回列表。它们已更改为generat

Python range() 和 zip() 对象类型

我了解如何在for循环中使用range()和zip()等函数。但是我希望range()输出一个列表-很像unixshell中的seq。如果我运行以下代码:a=range(10)print(a)输出是range(10),表明它不是一个列表,而是一种不同类型的对象。zip()在打印时有类似的行为,输出类似所以我的问题是它们是什么,制作它们有什么优势,以及如何在不循环它们的情况下将它们的输出输出到列表? 最佳答案 您必须使用Python3。在Python2中,对象zip和range确实按照您的建议行事,返回列表。它们已更改为generat

python - 如果提供了文件的绝对路径,如何消除 zip 存档中的绝对路径?

我在两个不同的目录中有两个文件,一个是'/home/test/first/first.pdf',另一个是'/home/text/second/second。pdf'。我使用以下代码来压缩它们:importzipfile,StringIObuffer=StringIO.StringIO()first_path='/home/test/first/first.pdf'second_path='/home/text/second/second.pdf'zip=zipfile.ZipFile(buffer,'w')zip.write(first_path)zip.write(second_pa

python - 如果提供了文件的绝对路径,如何消除 zip 存档中的绝对路径?

我在两个不同的目录中有两个文件,一个是'/home/test/first/first.pdf',另一个是'/home/text/second/second。pdf'。我使用以下代码来压缩它们:importzipfile,StringIObuffer=StringIO.StringIO()first_path='/home/test/first/first.pdf'second_path='/home/text/second/second.pdf'zip=zipfile.ZipFile(buffer,'w')zip.write(first_path)zip.write(second_pa

python - 类型错误 : 'zip' object is not subscriptable

我有一个格式为token/tag的标记文件,我尝试了一个函数,该函数返回一个包含(word,tag)列表中单词的元组。deftext_from_tagged_ngram(ngram):iftype(ngram)==tuple:returnngram[0]return"".join(zip(*ngram)[0])#zip(*ngram)[0]returnsatuplewithwordsfroma(word,tag)list在python2.7中它运行良好,但在python3.4中它给了我以下错误:return"".join(list[zip(*ngram)[0]])TypeError:'

python - 类型错误 : 'zip' object is not subscriptable

我有一个格式为token/tag的标记文件,我尝试了一个函数,该函数返回一个包含(word,tag)列表中单词的元组。deftext_from_tagged_ngram(ngram):iftype(ngram)==tuple:returnngram[0]return"".join(zip(*ngram)[0])#zip(*ngram)[0]returnsatuplewithwordsfroma(word,tag)list在python2.7中它运行良好,但在python3.4中它给了我以下错误:return"".join(list[zip(*ngram)[0]])TypeError:'

Python:在 zip 中打开文件而不临时解压缩它

如何在不先解压缩的情况下打开zip存档中的文件?我正在使用pygame。为了节省磁盘空间,我将所有图像都压缩了。是否可以直接从zip文件加载给定的图像?例如:pygame.image.load('zipFile/img_01') 最佳答案 VincentPovirk的回答不会完全奏效;importzipfilearchive=zipfile.ZipFile('images.zip','r')imgfile=archive.open('img_01.png')...你必须改变它:importzipfilearchive=zipfile

Python:在 zip 中打开文件而不临时解压缩它

如何在不先解压缩的情况下打开zip存档中的文件?我正在使用pygame。为了节省磁盘空间,我将所有图像都压缩了。是否可以直接从zip文件加载给定的图像?例如:pygame.image.load('zipFile/img_01') 最佳答案 VincentPovirk的回答不会完全奏效;importzipfilearchive=zipfile.ZipFile('images.zip','r')imgfile=archive.open('img_01.png')...你必须改变它:importzipfilearchive=zipfile