python使用7z解压apk包的方法


Posted in Python onApril 18, 2015

本文实例讲述了python使用7z解压apk包的方法。分享给大家供大家参考。具体如下:

这段代码通过shell调用7z对apk包进行解压缩

def run_shell(command, mayFreeze=False):
 def check_retcode(retcode, cmd):
 if 0 != retcode:
 print >> sys.stderr, 'err executing ' + cmd + ':', retcode
 sys.exit(retcode)
 def read_close(f):
 f.seek(0)
 d = f.read()
 f.close()
 return d
 #print >> sys.stderr, '-- Executing', command
 if mayFreeze:
 tempout, temperr = tempfile.TemporaryFile(), tempfile.TemporaryFile()
 #open(os.devnull, 'w')
 p = subprocess.Popen(command, stdout=tempout, stderr=temperr)
 p.wait()
 output, errout = read_close(tempout), read_close(temperr)
 else:
 p=subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
 output = p.stdout.read()
 p.wait()
 errout = p.stderr.read()
 p.stdout.close()
 p.stderr.close()
 #check_retcode(p.returncode, command)
 return (output.strip(), errout.strip())
#z7 is the full path to 7z.exe
#at times you have to encode the command into GBK/UTF8
run_shell(u'{0} -y -o"{1}" {2} x "{3}"'.format(z7, tempdir, icon, apk))
shutil.copy(u'{0}/{1}'.format(tempdir,os.path.basename(icon)),dst_path)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python查询mysql中文乱码问题
Nov 09 Python
python下MySQLdb用法实例分析
Jun 08 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
代码分析Python地图坐标转换
Feb 08 Python
python字符串string的内置方法实例详解
May 14 Python
基于DataFrame改变列类型的方法
Jul 25 Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 Python
python提取照片坐标信息的实例代码
Aug 14 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
原生python实现knn分类算法
Oct 24 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
python使用装饰器和线程限制函数执行时间的方法
Apr 18 #Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 #Python
python对指定目录下文件进行批量重命名的方法
Apr 18 #Python
python开启多个子进程并行运行的方法
Apr 18 #Python
C#返回当前系统所有可用驱动器符号的方法
Apr 18 #Python
python关闭windows进程的方法
Apr 18 #Python
python使用Queue在多个子进程间交换数据的方法
Apr 18 #Python
You might like
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
thinkPHP查询方式小结
2016/01/09 PHP
php封装的验证码类分享
2017/02/26 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
js实现砖头在页面拖拉效果
2020/11/20 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
修改vue+webpack run build的路径方法
2018/09/01 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
简单谈谈Python中的闭包
2016/11/30 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
Django之路由层的实现
2019/09/09 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
企业管理部经理岗位职责
2013/12/24 职场文书
医院护士的求职信
2014/01/03 职场文书
大学生村官承诺书
2014/03/28 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
长江三峡导游词
2015/01/31 职场文书
教师节简报
2015/07/20 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js