需求
日常下载学习视频后,需逐个解压,拟编写自动程序,实现指定路径解压,并删除原压缩文件。
实现思路
1.导入rarfile模块,实现文件解压;
2.导入os模块,实现文件删除;
3.使用for循环实现文件遍历。
代码
import rarfile #导入rarfile模块,实现文件解压
import os #导入os模块,实现已解压文件的删除
#通过for循环,实现0-19视频课程文件遍历
for i in range(0,20):
#定义原始压缩文件存储路径
oldpath = 'E:\\Python\\视频课程下载\\' + str(i) + '视频.rar'
#定义解压文件存储路径
newpath = 'E:\\Python\\解压目录\\' + str(i) + '视频'
#解压文件
rf = rarfile.RarFile(oldpath)
rf.extractall(newpath)
print(f'第{i}个文件解压成功') #打印解压进度
#进行原文件删除
os.remove(oldpath)
print(f'文件{i}删除成功') #进行删除提示
实现支持
1.需安装rarfile模块,若没有,可通过Windows命令提示符终端使用 pip install rarfile实现下载安装;
2.在运行文件路径下需UnRar.exe 支持(具体为啥,我也不清楚,还在学习),下载请参考博客《python循环解压rar文件》 .
收获与思考
1.通过for 循环和range序列范围实现按数字命名文件遍历;
2.自定义文件路径,使用‘+’灵活定义文件名称;
3.通过print输出文件解压进度和删除提示。
[1]: https://blog.youkuaiyun.com/qq_22186119/article/details/78109819?locationNum=10&fps=1
[2]: https://blog.youkuaiyun.com/weixin_30951743/article/details/99146125?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159705955919195265914390%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159705955919195265914390&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-99146125.first_rank_ecpm_v3_pc_rank_v2&utm_term=python%E8%A7%A3%E5%8E%8Brar&spm=1018.2118.3001.4187