批量解压带密码rar,zip文件python脚本工具源码

  • A+
所属分类:python基础入门

批量解压带密码rar,zip文件,转载python源码:

  1. #!/usr/bin/python
  2. #?-*-?coding:?utf8?-*-
  3. import?rarfile
  4. import?zipfile
  5. import?os
  6. import?re
  7. from?multiprocessing.dummy?import?Pool
  8. def?un_rar(file_name,pwd=None):
  9. ????try:
  10. ????????if?file_name.split('.')[-1]=='rar':
  11. ????????????rar?=?rarfile.RarFile(file_name)
  12. ????????????rar.extractall(path=file_name.split('.')[0],pwd=pwd)
  13. ????????elif?file_name.split('.')[-1]=='zip':
  14. ????????????zip?=?zipfile.ZipFile(file_name)
  15. ????????????zip.extractall(path=file_name.split('.')[0],pwd=pwd)
  16. ????except?Exception?as?e?:
  17. ????????print(e)
  18. ????????print('Fail:'+file_name)
  19. ????else:
  20. ????????print('Success')
  21. def?point_file_name(path):
  22. ????return?[os.path.join(item[0],file_name)?for?item?in?os.walk(path)?for?file_name?in?item[-1]?if?re.search(r'.rar$|.zip$',file_name)]
  23. if?__name__?==?'__main__':
  24. ????path?=?r'你的文件路径'
  25. ????pwd?=?'密码'
  26. ????#?with?open(r'UnRAR.exe','rb')?as?f:
  27. ????#?????with?open(os.path.join(path,'UnRAR.exe'),'wb')?as?other:
  28. ????#?????????other.write(f.read())
  29. ????file_names?=?point_file_name(path)
  30. ????pool=?Pool()
  31. ????pool.starmap(un_rar,zip(file_names,[pwd]*len(file_names)))
  32. ????pool.close()
  33. ????pool.join()
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • 2018年最靠谱网赚 2018年最靠谱网赚 0

      感谢博主,优秀资源