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的print用法示例
Feb 11 Python
Python实现一个简单的MySQL类
Jan 07 Python
搞笑的程序猿:看看你是哪种Python程序员
Jun 12 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
Python操作Access数据库基本步骤分析
Sep 19 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
Python实现的单向循环链表功能示例
Nov 10 Python
python的numpy模块安装不成功简单解决方法总结
Dec 23 Python
python中的变量如何开辟内存
Jun 26 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
详解DeBug Python神级工具PySnooper
Jul 03 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的mssql数据库连接类实例
2014/11/28 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
Python时间获取及转换知识汇总
2017/01/11 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
python基础教程之while循环
2019/08/14 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
文员的职业生涯规划发展方向
2014/02/08 职场文书
最常使用的求职信
2014/05/25 职场文书
暑期培训班招生方案
2014/08/26 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
暑期实践个人总结
2015/03/06 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android