为什么学习:
在做自动化测试平台的apk上传功能部分时候,涉及到apk上传后提取apk的icon图标,通过aapt解析apk,获取对应icon在apk中的地址,通过python的zipfile模块来解压缩提取到指定的icon的图标
zipfile模块的用途:
zipfile模块是用来做zip格式编码的压缩和解压缩的,zipfile有两个重要的类:ZipFile 创建和读取zip文件 ZipInfo是存储zip文件的每个文件的信息的
读取zip文件:
1 import zipfile
2
3 #默认模式r,读
4 zip = zipfile.ZipFile("bb,zip")
5 #返回所有文件夹和文件
6 print(zip.namelist())
7 #返回该zip的文件名
8 print(zip.filename)
9
10 #压缩文件
11 zip_info = zip.getinfo('bb/aa.txt')
12 #原来文件大小
13 print(zip_info.file_size)
14 #返回原来文件的大小
15 print(zip_info,compress_size)
16 #读取压缩文件中内容 默认是字节模式
17 a = zip.read('bb/cc.txt').decode('utf-8')
18 print(a)
运用到平台中的代码
aapt 对应apk 提取icon参数 取到对应的icon在apk压缩包中的路径
zip = zipfile.ZipFile(apkFilePath)
iconData = zip.read(IconPath)
with open(saveIconPath,'wb') as IconFile:
IconFile.write(iconData)
zip.close()
对应apk中的icon信息存储到了对应的路径位置
来源:oschina
链接:https://my.oschina.net/u/4276873/blog/3941837