Python 中怎样删除zip压缩文件夹中某个文件
发布网友
发布时间:2022-03-24 02:11
我来回答
共2个回答
热心网友
时间:2022-03-24 03:41
用
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)
热心网友
时间:2022-03-24 04:59
用
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:
代码我还没测试过。。。。请楼主自行测试吧。有问题再追问。