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目 ...
随机推荐
- R语言-图形辅助
1.画底纹格子 grid()函数 > plot(rnorm(100)) > grid() #画底纹格子 > grid(nx=NA, ny=8, #画水平底纹,横坐标无分隔,纵坐 ...
- JQUERY之表单验证案例
<!-- 需求: 用户注册页面要有用户名.密码.确认密码.邮箱 用户名文本框:用户名不能为空,且必须为数字与字母的6到12位的组合 密码框:密码不能为空,六到八位数字或字母的组合 确认密码框:确 ...
- Python列表的三种遍历(序号和值)的方法
#-×-coding:utf-8-*- if _name_=='_main_': list=['html','js','css','python'] #方法1 print ‘遍历列表方法1’ for ...
- 执行多条SQL语句,实现数据库事务(不可传入Sql参数)
执行多条SQL语句,实现数据库事务(不可传入Sql参数) http://blog.csdn.net/hanxuemin12345/article/details/9980371
- Tensorflow学习笔记2019.01.03
tensorflow学习笔记: 3.2 Tensorflow中定义数据流图 张量知识矩阵的一个超集. 超集:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S ...
- 如何自动生成图片用于测试 pytorch(No image? No need image)
if __name__ == '__main__': module = CAM_Module() in_data = torch.randint(0, 255, (2, 3, 7, 7), dtype ...
- 一段自适应的CSS代码
一段自适应HTML5的CSS代码,该代码在陕西特产使用过,手机端效果还好,就是PC端看起来没那么大气,比较窄屏 * { transition-property: all; -ms-transition ...
- Docker端口映射
Docker端口映射是指将容器内应用的服务端口映射到本机宿主机器.当要在宿主机外部访问Docker内部应用时,需要对容器内应用端口进行映射. 一.容器启动时指定端口映射 容器运行时可以通过-p 或 - ...
- MongoDB设置连接池操作百万级以上数据
开发环境 spring 4.3.7 + springBoot 1.5.2 + dubbo 2.6.5 + mongoDB 4.0.0 连接池配置 mongo-pool.properties sprin ...
- selemium 常用查找方法
1.selemium.FindElement(By.LinkText("下一步")) 2.selemium.FindElement(By.Id("userNumber&q ...