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的Django中django-userena组件的简单使用教程
May 30 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
对python自动生成接口测试的示例讲解
Nov 30 Python
详解python中的线程与线程池
May 10 Python
python机器学习库xgboost的使用
Jan 20 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
django model object序列化实例
Mar 13 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
django model通过字典更新数据实例
Apr 01 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
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
JavaScript效率调优经验
2009/06/04 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
2018/10/29 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python3设计模式之简单工厂模式
2017/10/17 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
科室工作个人总结的自我评价
2013/10/29 职场文书
煤矿班组长的职责
2013/12/25 职场文书
师范类求职信
2014/06/21 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
消防安全培训工作总结
2015/10/23 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技