python使用7z解压apk包的方法
本文实例讲述了python使用7z解压apk包的方法。分享给大家供大家参考。具体如下:
这段代码通过shell调用7z对apk包进行解压缩
defrun_shell(command,mayFreeze=False):
defcheck_retcode(retcode,cmd):
if0!=retcode:
print>>sys.stderr,'errexecuting'+cmd+':',retcode
sys.exit(retcode)
defread_close(f):
f.seek(0)
d=f.read()
f.close()
returnd
#print>>sys.stderr,'--Executing',command
ifmayFreeze:
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())
#z7isthefullpathto7z.exe
#attimesyouhavetoencodethecommandintoGBK/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程序设计有所帮助。