Python 中怎样删除zip压缩文件夹中某个文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 中怎样删除zip压缩文件夹中某个文件相关的知识,希望对你有一定的参考价值。


PyZipFile
方法很简陋。
是把
zip压缩包里面的文件,除了要删除的文件以外,逐个读取出来,保存到新文件中。最后用新文件覆盖旧文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#
coding=utf-8
import
zipfile
import
your_delet_file="你要删除的文件名"
old_zipfile='archive.zip'
#新文件
new_zipfile='archve_new.zip'
#新文件
zin
=
zipfile.ZipFile
(old_zipfile,
'r')
#读取对象
zout
=
zipfile.ZipFile
(new_zipfile,
'w')
#被写入对象
for
item
in
zin.infolist():
buffer
=
zin.read(item.filename)
if
(item.filename!=
your_delet_file):
#剔除要删除的文件
zout.writestr(item,
buffer)
#把文件写入到新对象中
zout.close()
zin.close()
#用新文件覆盖旧文件
shutil.move(new_zipfile,old_zipfile)
参考技术A
pyzipfile 方法很简陋。
是把
zip压缩包里面的文件,除了要删除的文件以外,逐个读取出来,保存到新文件中。最后用新文件覆盖旧文件。
# coding=utf-8
import zipfile
import
your_delet_file="你要删除的文件名"
old_zipfile='archive.zip' #新文件
new_zipfile='archve_new.zip' #新文件
zin = zipfile.zipfile (old_zipfile, 'r') #读取对象
zout = zipfile.zipfile (new_zipfile, 'w') #被写入对象
for item in zin.infolist():
buffer = zin.read(item.filename)
if (item.filename!= your_delet_file): #剔除要删除的文件
zout.writestr(item, buffer) #把文件写入到新对象中
zout.close()
zin.close()
#用新文件覆盖旧文件
shutil.move(new_zipfile,old_zipfile)
#ps:
代码我还没测试过。。。。请楼主自行测试吧。有问题再追问。

Linux下怎么删除zip文件内的某个文件?

比如我的index.zip文件夹下有名字为web的文件夹和a.html,b.html,c.html………………z.html等等多个文件
在不解压index.zip文件夹的情况下,我怎么删除index.zip这个压缩文件中的web文件夹?

使用zip命令的-d参数即可删除zip包中的特定文件。


示例:假设有test.zip,包含1.txt、2.txt、3.exe三个文件,现在要删除test.zip中的txt文件,则执行如下命令

zip -d test.zip *.txt


执行结果如下图所示:

结果说明:用unzip命令的-l参数可以列出zip包中文件。

参考技术A zip -d *.html index.zip
试试追问

要删除web这个文件夹。不是html文件

本回答被提问者采纳

以上是关于Python 中怎样删除zip压缩文件夹中某个文件的主要内容,如果未能解决你的问题,请参考以下文章

python怎样压缩和解压缩ZIP文件

zip & tar 压缩文件时排除某个文件夹

linux如何删除zip包中某个文件夹及里面的内容

Linux下怎么删除zip文件内的某个文件?

linux zip压缩。压缩当前文件夹下所有文件,压缩为a.zip。命令行的方法是怎样。

用python解压图片并打印代码