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 2.7.x 和 3.x 版本的重要区别小结
Nov 28 Python
详解Python中with语句的用法
Apr 15 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python3.6笔记之将程序运行结果输出到文件的方法
Apr 22 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
Flask-WTF表单的使用方法
Jul 12 Python
python super的使用方法及实例详解
Sep 25 Python
pygame实现弹球游戏
Apr 14 Python
如何利用pycharm进行代码更新比较
Nov 04 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
python中super()函数的理解与基本使用
Aug 30 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&&mysql)一
2006/10/09 PHP
PHP中读取照片exif信息的方法
2014/08/20 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
js评分组件使用详解
2017/06/06 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
koa-router源码学习小结
2018/09/07 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
python 循环while和for in简单实例
2016/08/16 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
Python中@property的理解和使用示例
2019/06/11 Python
Pytorch之parameters的使用
2019/12/31 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
专升本自我鉴定
2013/10/10 职场文书
医学专业大学生求职的自我评价
2013/11/27 职场文书
二年级数学教学反思
2014/01/21 职场文书
百日安全活动总结
2014/05/04 职场文书
2014教师研修学习体会
2014/07/08 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
介绍信的格式
2015/01/30 职场文书