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中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
在Python程序中进行文件读取和写入操作的教程
Apr 28 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
Jan 07 Python
python开发简易版在线音乐播放器
Mar 03 Python
Python编程实现使用线性回归预测数据
Dec 07 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
python读取ini配置文件过程示范
Dec 23 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
python实现一个简单RPC框架的示例
Oct 28 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
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
JavaScript 调试器简介
2009/02/21 Javascript
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
详解Django中间件执行顺序
2018/07/16 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
《守株待兔》教学反思
2014/03/01 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
三八节标语
2014/06/27 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
2015教师年度考核评语
2015/03/25 职场文书
六一儿童节致辞
2015/07/31 职场文书
食品卫生管理制度
2015/08/06 职场文书
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js