python循环解压rar文件
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文件的更多相关文章
- ubuntu解压rar文件
一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了rar解压工具之后,才可以解压.其实在ubuntu下安装rar解压工具是非常简 单的,只需要两个步骤就可以迅速搞定. ubuntu 下 ...
- CentOS解压rar文件
默认不能解压rar文件. 进官网下载:http://www.rarsoft.com/download.htm RAR 5.40 for Linux x64 安装: # tar -zxvf rarlin ...
- rar x 解压rar文件,提示permission denied
问题: 解压rar文件,提示
- Linux解压rar文件
Linux解压rar文件(unrar安装和使用,分卷解压) windows平台很多压缩文档为rar文件,那么怎么做到Linux解压rar文件(unrar安装和使用)? 简单,centos5安装unra ...
- linux(redhat)环境下,如何解压rar文件?
需求描述: 今天一个同事发过来一个压缩文件,让传送到linux服务器上,传上去之后,发现是rar格式的 之前没有解压过,就找了一些解压方法,在此记录下. 操作过程: 1.下载rar在linux环境下的 ...
- java 提取(解压)rar文件中特定后缀的文件并保存到指定目录
内容简介 本文主要介绍使用junrar来提取rar压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 支持v4及以下版本压缩文件,不支持v5及以上. 在rar文件上右键,查看属性,在压 ...
- Ubuntu 16.04安装unrar解压RAR文件
除了7zip:http://www.cnblogs.com/EasonJim/p/7124306.html之外,还可以安装unrar进行解压RAR文件. 安装 sudo apt-get install ...
- linux 下面压缩、解压.rar文件
一,解压问题 在网上下东西的时候,经常会遇到.rar后缀的文件,我用tar解压,解压不出,上网找啊找,一直没找到什么合适的工具来压缩和解压.rar后缀的文件,现在我找到了. 二,rar和unrar安装 ...
- linux中解压rar文件
linux平台默认是不支持RAR文件的解压,需要安装linux版本的RAR压缩软件,下载地址为:http://www.rarlab.com/download.htm 下载之后进行解压之后,进入rar目 ...
随机推荐
- 安装oracle [INS-32025] 所选安装与指定 Oracle 主目录中已安装的软件冲突” 的问题
删除C:\Program Files (x86)\Oracle\Inventory\下的Oracle文件夹即可解决问题
- Django启动报错笔记
NO.1: You have 15 unapplied migration(s). Your project may not work properly until you apply the mig ...
- C#解析JSON字符串总结(转载)
JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2. 通用方式[★★★★★]: ...
- Pycharm--flake8的配置使用
前言:Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具.Flake8检查规则灵活,支持集成额外插件,扩展性强. 一.安装flake8 进入虚拟环境: pip inst ...
- (九)random、os、time、datetime、hashlib、pymysql、excel、sys、string相关模块
1.random模块 1 import random,string 2 print(string.printable) #代表所有的 数字+字母+特殊字符 3 4 print(random.randi ...
- 云笔记项目-Spring事务学习-传播Requried
在准备好前期的项目搭建后,接下来就一个个的测试,首先测试事务传播的Required Service层两个实现类 Service层两个实现类,只是更换了方法事务传播的属性,其他都一样,后续测试也只修改传 ...
- <web-view>中JSSDK
如果只是使用wx.miniProgram.navigateTo这种导航的接口,jssdk可以不用做配置,引用js后直接使用就行,如果chooseImage这种,就需要获取配置了,步骤如下: 先在后端通 ...
- tmux复制模式
复制模式支持滚屏等操作,进入方法为Ctrl + b再按"[",此时进入所谓的copy-mode 然后就可以用上下键或PageDn/PageUp浏览屏幕了. 想退出copy-mode ...
- Linux 防火墙iptables开放端口
Iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含Iptables的功能.如果 Linux 系统连接到因特网或 LAN.服务器或连接 LAN 和因特网的代理 ...
- 5N - 考试排名
C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点.它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么“AC”,要么错误,不管怎样错法,总是给你记上一笔,表明你曾经有过一次错误提 ...