這篇文章主要介紹了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程序設計有所幫助。
|
新聞熱點
疑難解答