从zip存档中提取特定文件,而不在python中维护目录结构
作者:互联网
我正在尝试使用python从zip存档中提取特定文件.
在这种情况下,从apk本身提取apk的图标.
我目前正在使用
with zipfile.ZipFile('/path/to/my_file.apk') as z:
# extract /res/drawable/icon.png from apk to /temp/...
z.extract('/res/drawable/icon.png', 'temp/')
哪个工作,在我的脚本目录中它创建temp / res / drawable / icon.png,这是临时加上与文件在apk内相同的路径.
我真正想要的是以temp / icon.png结束.
有没有办法直接使用zip命令,或者我需要提取,然后移动文件,然后手动删除目录?
解决方法:
你可以使用zipfile.ZipFile.open:
import os
import shutil
with zipfile.ZipFile('/path/to/my_file.apk') as z:
with z.open('/res/drawable/icon.png') as zf, open('temp/icon.png', 'wb') as f:
shutil.copyfileobj(zf, f)
或者使用zipfile.ZipFile.read:
import os
with zipfile.ZipFile('/path/to/my_file.apk') as z:
with open('temp/icon.png', 'wb') as f:
f.write(z.read('/res/drawable/icon.png'))
标签:directory-structure,python,zip 来源: https://codeday.me/bug/20191005/1856367.html