python学习笔记:应用篇:压缩包批量解压的实现(WinRAR、python、cmd、)

压缩包批量解压python、cmd、bat实现

一、利用WinRAR进行解压前,首先要进行命令的环境配置

大家如果直接在控制台窗口中输入“WinRAR"命令,就会发现出现‘WinRAR’不是内部或外部命令,也不是可运行的程序或批处理文件。这是控制台是无法调用该命令的,除非按照路径进行调用WinRAR.exe文件。如果想实现可以在控制台中直接调用WinRAR解压软件,则首先需要进行路径的添加:右键计算机→属性→高级系统设置→环境变量→系统变量→Path,双击Path,为WinRAR新建一条路径,如下图:
环境变量
系统变量
路径添加
添加的路径即为你的WinRAR软件在电脑中的安装位置,博主的路径为:“D:\Program File(x86)\WinRAR\”
路径添加完成后,再在控制台中输入"WinRAR"命令,就可以直接打开WinRAR.exe程序:
命令执行情况
上述操作完成后就可以开始进行批量解压了。

二、利用python实现解压后的文件按照压缩包名进行整理(细化了路径和文件管理)

博主是从.NET转到python的,因此养成了写main函数的习惯,方便代码的阅读和管理,python中这种结构可有可无,大家可以按照自己的习惯整理自己的代码。下列代码中按照路径进行文件名的读取,并对后缀进行了判读,从而实现了解压后的文件按原压缩文件名进行梳理的解压方式。

#导入库
import os

#全局变量
List_Fname=[]

"""函数区"""
#获取文件夹下的文件名
def listdir(path, list_name):
    for file in os.listdir(path):
         if file[-4:] == ".tgz":#字符串切片
            list_name.append(file)
    return  list_name


"""主函数区"""
def main():
    source_dir="H:\\测试\\"
    listdir(source_dir, List_Fname)

    #创建压缩包文件存储路径及文件名
    unzip_dir=source_dir+"unzip\\"
    #window RAR解压缩命令
    for file in List_Fname:
    	#必须使用这种格式,使用+进行字符连接时,因为语言中转义字符的存在会出现路径识别时的错误。
        rar_command ='"D:\Program Files(x86)\WinRAR\WinRAR.exe" x %s * %s\\'%(source_dir+file, unzip_dir+file)
        os.system(rar_command)


"""主函数调用"""
main()

值得注意的就是Comamd的格式,看上述注释。

三、利用控制台或者.bat实现将该路径下的所有.tgz压缩文件都解压到同一文件夹中。

(一)控制台实现

利用“WinRAR x 【压缩文件】 【解压路径】”实现:
控制台实现

(二)txt+bat实现

如果对解压后的文件没有按原文件名进行梳理的要求,博主更推荐这种方法进行实现,因为.bat文件可以直接进行复制粘贴,不需要记住文件所在路径,只需要经WinRAR的路径提前添加好就可以,使用起来更加便捷。
语法
将文件后缀.txt更改为.bat,双击之后就可以执行啦!
执行

发布了8 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/knkn123/article/details/83020382
今日推荐