首页 > 编程 > Python > 正文

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

2020-01-04 19:29:34
字体:
来源:转载
供稿:网友

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

本文实例讲述了python使用7z解压apk包的方法。分享给大家供大家参考。具体如下:

这段代码通过shell调用7z对apk包进行解压缩

 

 
  1. def run_shell(command, mayFreeze=False): 
  2. def check_retcode(retcode, cmd): 
  3. if 0 != retcode: 
  4. print >> sys.stderr, 'err executing ' + cmd + ':', retcode 
  5. sys.exit(retcode) 
  6. def read_close(f): 
  7. f.seek(0
  8. d = f.read() 
  9. f.close() 
  10. return d 
  11. #print >> sys.stderr, '-- Executing', command 
  12. if mayFreeze: 
  13. tempout, temperr = tempfile.TemporaryFile(), tempfile.TemporaryFile() 
  14. #open(os.devnull, 'w') 
  15. p = subprocess.Popen(command, stdout=tempout, stderr=temperr) 
  16. p.wait() 
  17. output, errout = read_close(tempout), read_close(temperr) 
  18. else
  19. p=subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE) 
  20. output = p.stdout.read() 
  21. p.wait() 
  22. errout = p.stderr.read() 
  23. p.stdout.close() 
  24. p.stderr.close() 
  25. #check_retcode(p.returncode, command) 
  26. return (output.strip(), errout.strip()) 
  27. #z7 is the full path to 7z.exe 
  28. #at times you have to encode the command into GBK/UTF8 
  29. run_shell(u'{0} -y -o"{1}" {2} x "{3}"'.format(z7, tempdir, icon, apk)) 
  30. shutil.copy(u'{0}/{1}'.format(tempdir,os.path.basename(icon)),dst_path) 

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表