加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 19:39:42 所属栏目:Python 来源:网络整理
导读:本篇章节讲解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 '

本篇章节讲解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程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读