[英]How to extract file from zip without maintaining directory structure in 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
,它是 temp 加上与文件在 apk 内的路径相同的路径。
我真正想要的是最终得到temp/icon.png
。
有没有办法直接使用 zip 命令执行此操作,或者我是否需要提取,然后移动文件,然后手动删除目录?
您可以使用zipfile.ZipFile.open :
import shutil
import zipfile
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 zipfile
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'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.