我有一个像这样的zip文件:

myArchive.zip

|

-folder1

|

--folder2

|

---myimage.jpg

当我尝试提取myimage.jpg时:

with zipfile.ZipFile('myArchive.zip', 'r') as zfile:

zfile.extract('folder1/folder2/myimage.jpg')

我将在我当前工作的目录中获得/folder1/folder2/myimage.jpg

但我只想将myimage.jpg提取到当前工作目录,我该怎么办呢?

解决方法:

而不是使用extract或extractall,只需获取数据并将其写入您喜欢的任何文件.这是一个代码示例,可以满足您的需求:

import os, sys, time

import zipfile

ENC = 'cp437'

outdir = unicode(os.path.abspath('.'))

outzip = 'c:/1temp/timbersales.zip'

zf = zipfile.ZipFile(outzip, 'r')

for info in zf.infolist():

fn, dtz = info.filename, info.date_time # , info.file_size

# some zips have dirs listed as files. Catch

# and bypass those.

name = os.path.basename(fn)

if not name:

continue

# get our filename converted from bytes to unicode

fn_uni = fn.decode(ENC, 'replace')

bn_uni = os.path.basename(fn_uni)

# this method is about 15% faster than extractall, and

# preserves modify and access dates

c = zf.open(fn)

outfile = os.path.join(outdir, bn_uni)

# try/except to avoid problems with locked files, etc

# do in chunks to avoid memory problems

chunk = 2**16

try:

with open(outfile, 'wb') as f:

s = c.read(chunk)

f.write(s)

while not len(s) < chunk:

s = c.read(chunk)

f.write(s)

c.close()

# set modify and access dates to that inside the zip

dtout = time.mktime(dtz + (0, 0, -1))

os.utime(outfile, (dtout, dtout))

except IOError:

c.close()

此示例执行zip中的所有文件,但您可以轻松添加几行来检查特定文件.它还将覆盖工作目录中的任何文件,其名称与提取的文件同名.

标签:python,zipfile

来源: https://codeday.me/bug/20190729/1567948.html

python解压到指定文件夹_Python:将文件解压缩到当前工作目录,但不保存zip中的目录结构...相关推荐

  1. python解压到指定文件夹_在Python中压缩和解压文件

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 如果你已经使用计算机一段时间,你可能遇到了.zip扩展名的文件.它们是可以保存许多其他文件,文件夹和子文件 ...

  2. python新建文件夹和文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  3. python os模块创建文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  4. 如何用python整理文件夹_python按照文件创建日期整理文件至文件夹

    # -*- coding: utf-8 -*- # @Time : 2019-02-15 13:31 # @Author : cxa # @File : sortbydate.py # @Softwa ...

  5. python 清空文件夹_python读写文件

    文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本记录.音频片段.Excel文档.保存邮件以及任何保存在电脑上的东西. ①读取文件 首先,我们在桌面新建一个text文 ...

  6. python 解压js压缩的图片_Python解压各种压缩文件总结

    工作中经常遇到需要解压各种压缩包的接口需求,包括.tar..tar.gz..zip..rar包,为了避免每次都得重新谷歌,试错调错,我将各种解压的python代码整理出来,下次可以直接拿过来用,建议小 ...

  7. python复制文件到指定文件夹_python 拷贝文件夹下所有的文件到指定文件夹(不包括目录)...

    1.随便简单些写了一下.直接粘结代码,只是简单的实现一下,还很多需要完善和扩展的地方,比如忽略掉后缀文件,删除文件 如果排除的某些的话可以用: sourceF.find('.后缀')>0 2.注 ...

  8. python如何进入文件夹_python之文件的读写和文件目录以及文件夹的操作实现代码...

    这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...

  9. python判断路径是文件还是文件夹_python 判断文件还是文件夹的简单实例

    python 判断文件还是文件夹的简单实例 更新时间:2019年06月10日 09:44:48 作者:ZenGeek 今天小编就为大家分享一篇python 判断文件还是文件夹的简单实例,具有很好的参考 ...

最新文章

  1. 解题报告(一)E、(BZOJ4589)Hard Nim(博弈论 + FWT)
  2. 古代password
  3. 缓存穿透、缓存击穿、缓存雪崩及其解决方案
  4. ubuntu下网页显示乱码的解决方法
  5. io流文本文档的快速读取
  6. SQLServer全文检索无内容
  7. 关于malloc与字符指针的一些易错点
  8. IDE 插件新版本发布,总有一个功能帮到你——开发部署提速 8 倍
  9. jvm延迟偏向_用于偏向硬币翻转模拟的Python程序
  10. 最短路径问题(信息学奥赛一本通-T1342)
  11. HMC 命令行登陆设置
  12. #洛谷oj:P3144 Closing the Farm S
  13. 深入理解安卓Activity
  14. PS一些简单的非主流照片效果
  15. 求助:Appium 如何实现登录手机淘宝时拖动苹果到购物车的验证
  16. 一缕烟香起静中开鸿蒙意思,一缕青烟暗指什么意思 千古萦回一缕香
  17. 吴恩达深度学习编程作业 part 2-2
  18. 浏览器访问不了localhost
  19. 贾立平是中科学院计算机所博士,在思考中砥砺前行——记我校计算机与软件工程学院青年教师王晓明博士...
  20. 学习篇(一)- Spring自动装配的方式

热门文章

  1. python 调用c++返回char*
  2. ubuntu 安装ImageMagic
  3. activity重启问题
  4. C语言作业关于高空坠球,浙大版《C语言程序设计(第3版)》题目集 习题4-8 高空坠球...
  5. 1载波把32个信道按_「防疫」截至8月27日,单日确诊新增32例,张文宏带来1个坏消息...
  6. 阿里mysql数据库同步_如何对MySQL数据库中的数据进行实时同步-阿里云开发者社区...
  7. slope one 推荐算法python 代码_java和python实现一个加权SlopeOne推荐算法
  8. SpringBoot配置Mybatis在控制台打印sql
  9. MySQL插入数据时报错Cause: java.sql.SQLException: #HY000的解决方法
  10. c++人脸特征保存到本地_尚邦小规模人脸识别布控系统