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程序设计有所帮助。