Python压缩文件不放开zip文件

Python压缩文件不放开zip文件,第1张

概述Python压缩文件放开zip文件

我试图在windows 8.1和Python 2.7.9上使用zipfile库。

我只是想在zipfile.open()后删除library.zip,但os.remove()抛出“windowsError [错误32]”,似乎zipfile没有释放压缩文件与块。

windowsError 32的意思是“进程无法访问该文件,因为它正在被另一个进程使用”。

那么,我该如何删除这个library.zip文件呢?

追溯(最近一次通话最后):Adafruit BME 280传感器

Django的。 在此服务器上找不到请求的URL /

PHP + Shell返回HTML

用于SMBIOS的python模块

os.walk不能在path中使用unicode字符

码:

import os import zipfile as z dirs = os.Listdir('build/') bSystemStr = dirs[0] print("[-] Merging library.zip...") with z.Zipfile('build/' + bSystemStr + '/library.zip','a') as z1: with z.Zipfile('build_temp/' + bSystemStr + '/library.zip','r') as z2: for t in ((n,z2.open(n)) for n in z2.nameList()): try: z1.writestr(t[0],t[1].read()) except: pass print("[-] Cleaning temporary files...") os.remove('build_temp/' + bSystemStr + '/library.zip')

错误:

[-]Merging library.zip... ... build.py:74: UserWarning: Duplicate name: 'xml/sax/_exceptions.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'xml/sax/expatreader.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'xml/sax/handler.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'xml/sax/saxutils.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'xml/sax/xmlreader.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'xmllib.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'xmlrpclib.pyc' z1.writestr(t[0],t[1].read()) build.py:74: UserWarning: Duplicate name: 'zipfile.pyc' z1.writestr(t[0],t[1].read()) [-] Cleaning temporary files... Traceback (most recent call last): file "build.py",line 79,in <module> os.remove('build_temp/' + bSystemStr + '/library.zip') windowsError: [Error 32] : 'build_temp/exe.win32-2.7/library.zip'

python if语句总是

从Python的terminalclosures事件中获取信号

将Python脚本移动到另一台计算机

django-gunicorn-Nginx:502坏的网关

RTSPstream和OpenCV(Python)

我想你必须关闭你的压缩文件,然后才能删除它,或者像在python文档中说的那样退出程序https://docs.python.org/2/library/zipfile.HTML#zipfile.Zipfile.close

所以在删除归档之前运行z1.close()和z2.close()

您的代码必须如下所示:

import os import zipfile as z dirs = os.Listdir('build/') bSystemStr = dirs[0] print("[-] Merging library.zip...") with z.Zipfile('build/' + bSystemStr + '/library.zip',t[1].read()) except: pass z2.close() z1.close() print("[-] Cleaning temporary files...") os.remove('build_temp/' + bSystemStr + '/library.zip')

如果我错了,纠正我。

总结

以上是内存溢出为你收集整理的Python压缩文件不放开zip文件全部内容,希望文章能够帮你解决Python压缩文件不放开zip文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1155311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存