python循环解压rar文件

C:.
│ main.py

├─1_STL_算法简介
│ STL_算法简介.rar

└─2_STL_算法_填充新值
STL_算法_填充新值.rar

事情是这样的,下载了一套教学视频,文件夹命名规则是:“序号+视频名”,文件夹内是“视频名.rar”,上面选取了其中两个文件作为示例。这样看视频的时候就出现一个问题,每看一次都需要切换一次目录,解压一次文件,烦!

遂写main.py

import rarfile
import shutil
import os path = os.getcwd()
allFile = os.listdir(path) for dir in allFile:
if '.' not in dir:
dir2 = os.listdir(path+'\\'+dir)
for file in dir2:
if '.rar' in file:
rar = rarfile.RarFile(path+'\\'+dir+'\\'+file)
rar.extractall(path+'\\'+dir)
dir2 = os.listdir(path+'\\'+dir)
for file in dir2:
if '.wmv' in file:
print(dir)
print(file)
os.chdir(path+'\\'+dir)
os.rename(file, dir+'.wmv')
shutil.copy2(dir+'.wmv', path)
os.chdir(path)

出现问题:

Traceback (most recent call last):
File "C:\Python35\lib\site-packages\rarfile.py", line 2813, in custom_popen
creationflags=creationflags)
File "C:\Python35\lib\subprocess.py", line 676, in __init__
restore_signals, start_new_session)
File "C:\Python35\lib\subprocess.py", line 955, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。 During handling of the above exception, another exception occurred: Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\新建文件夹 (2)\main.py", line 14, in <module>
rar.extractall(path+'\\'+dir)
File "C:\Python35\lib\site-packages\rarfile.py", line 820, in extractall
self._extract(fnlist, path, pwd)
File "C:\Python35\lib\site-packages\rarfile.py", line 885, in _extract
p = custom_popen(cmd)
File "C:\Python35\lib\site-packages\rarfile.py", line 2816, in custom_popen
raise RarCannotExec("Unrar not installed? (rarfile.UNRAR_TOOL=%r)" % UNRAR_TOOL)
rarfile.RarCannotExec: Unrar not installed? (rarfile.UNRAR_TOOL='unrar')

下载UnRar.exe

链接:http://pan.baidu.com/s/1o8ObqCa 密码:dsru

放在当前文件夹,运行main.py。

目录树变为:

C:.
│ 1_STL_算法简介.wmv
│ 2_STL_算法_填充新值.wmv
│ main.py
│ UnRAR.exe

├─1_STL_算法简介
│ 1_STL_算法简介.wmv
│ STL_算法简介.rar

└─2_STL_算法_填充新值
2_STL_算法_填充新值.wmv
STL_算法_填充新值.rar

python循环解压rar文件的更多相关文章

  1. ubuntu解压rar文件

    一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了rar解压工具之后,才可以解压.其实在ubuntu下安装rar解压工具是非常简 单的,只需要两个步骤就可以迅速搞定. ubuntu 下 ...

  2. CentOS解压rar文件

    默认不能解压rar文件. 进官网下载:http://www.rarsoft.com/download.htm RAR 5.40 for Linux x64 安装: # tar -zxvf rarlin ...

  3. rar x 解压rar文件,提示permission denied

    问题: 解压rar文件,提示

  4. Linux解压rar文件

    Linux解压rar文件(unrar安装和使用,分卷解压) windows平台很多压缩文档为rar文件,那么怎么做到Linux解压rar文件(unrar安装和使用)? 简单,centos5安装unra ...

  5. linux(redhat)环境下,如何解压rar文件?

    需求描述: 今天一个同事发过来一个压缩文件,让传送到linux服务器上,传上去之后,发现是rar格式的 之前没有解压过,就找了一些解压方法,在此记录下. 操作过程: 1.下载rar在linux环境下的 ...

  6. java 提取(解压)rar文件中特定后缀的文件并保存到指定目录

    内容简介 本文主要介绍使用junrar来提取rar压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 支持v4及以下版本压缩文件,不支持v5及以上. 在rar文件上右键,查看属性,在压 ...

  7. Ubuntu 16.04安装unrar解压RAR文件

    除了7zip:http://www.cnblogs.com/EasonJim/p/7124306.html之外,还可以安装unrar进行解压RAR文件. 安装 sudo apt-get install ...

  8. linux 下面压缩、解压.rar文件

    一,解压问题 在网上下东西的时候,经常会遇到.rar后缀的文件,我用tar解压,解压不出,上网找啊找,一直没找到什么合适的工具来压缩和解压.rar后缀的文件,现在我找到了. 二,rar和unrar安装 ...

  9. linux中解压rar文件

    linux平台默认是不支持RAR文件的解压,需要安装linux版本的RAR压缩软件,下载地址为:http://www.rarlab.com/download.htm 下载之后进行解压之后,进入rar目 ...

随机推荐

  1. parallel Stream 学习

    首先,我们需要了解下ForkJoinPool.ForkJoin框架是从jdk7中新特性,它同ThreadPoolExecutor一样,也实现了Executor和ExecutorService接口.它使 ...

  2. aop原理及理解

    概念 Aspect Oriented Programming,面向切面编程,实际上它是一个规范.一种设计思路,总之是抽象的. 先上图 使用目的 从项目结构上来说 对业务逻辑的各个部分进行隔离,降低业务 ...

  3. rsync镜像命令

    rsync -e 'ssh -p 19809' -av wwwroot root@3.3.3.3:/home/download/ 参数详解 编辑 -v, --verbose 详细模式输出 -q, -- ...

  4. java获取request中的参数、java解析URL问号后的参数

    java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...

  5. nginx安装与挂载

    Linux下添加新硬盘,分区及挂载 http://blog.chinaunix.net/uid-25829053-id-3067619.html vim /etc/fstab /dev vdb1  / ...

  6. Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)

    不管是啥都响应tableviewcell class JYShopCertificationCell: UITableViewCell { override func hitTest(_ point: ...

  7. Linux 学习笔记 1

    1.  名词解释 GNU: 目标是创建一套完全自由的操作系统:包含了可自由使用的软件,如Emacs,GCC,Tex,X Window:制定了3个自由软件协议:GPL,LGPL,GFDL GPL(Gen ...

  8. Web.Debug.config和Web.Release.config设置xdt:Transform无效的解决办法

    在VS中右键网站>发布时xdt:Transform 生效.但是使用tfs的build时,build可以正常通过,但是web.release.config中的xdt:Transform 无效,其它 ...

  9. Pixel Recurrent Neural Networks翻译

    Pixel Recurrent Neural Networks 目前主要在用的文档存放: https://www.yuque.com/lart/papers/prnn github存档: https: ...

  10. A Model of Saliency-Based Visual Attention for Rapid Scene Analysis

    A Model of Saliency-Based Visual Attention for Rapid Scene Analysis 题目:A Model of Saliency-Based Vis ...