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

这篇文章主要介绍了python使用7z解压apk包的方法,涉及Python的shell命令调用技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...