用python压缩文件,python解压压缩包
由于压缩格式的不同,在解压文件时往往需要下载不同的解压工具来处理不同的文件。本文将使用Python制作一个解压小工具,以后再也不用下载各种格式的解压软件了。
因为各种压缩格式不一样,需要下载不同的解压工具来处理不同的文件,以至于桌面上有三四种压缩工具。所以用python做了一个小工具,用来解压各种常见格式的文件。
常见的压缩格式主要有以下四种:
zip格式的压缩文件一般用360压缩软件解压。
在linux系统上,tar.gz格式的压缩文件通常用tar命令解压。
rar格式的压缩文件一般用rar压缩软件解压。
7z格式的压缩文件一般用7-zip压缩软件解压。
导入zip格式的非标准库进行解压缩处理。
导入操作系统
将zip文件导入为zip
写一个zip解压格式的文件压缩函数。
def do_zip(源文件,目标文件):
Zip文件压缩
:param source_:原始文件路径
:param目标文件:目标文件路径
:返回:
zip_file=zip。ZipFile(目标文件, w )
pre _ len=len(OS . path . dirname(source _))
对于父目录,目录名,os.walk中的文件名(source_):
对于文件名:中的文件名
打印(f“{ filename }”)
path_file=os.path.join(父级,文件名)
arcname=path _ file[pre _ len :]。strip(os.path.sep)
zip_file.write(路径_文件,arcname)
zip_file.close()
写一个zip解压格式的文件解压函数。
def un_zip(源文件,目标文件):
Zip文件解压缩
:param源文件:原始文件路径
:param target_:目标文件路径
:返回:
zip_file=zip。ZipFile(源文件)
if os.path.isdir(target_):
及格
else:
os.mkdir(target_)
对于zip_file.namelist():中的名称
zip_file.extract(名称,目标_)
zip_file.close()
导入7z格式的解压缩处理非标准库。
进口py7zr
写一个7z解压格式的文件压缩函数。
def do_7z(源文件,目标文件):
7z文件压缩
:参数来源_:
:参数target_file:
:返回:
用py7zr。SevenZipFile(目标文件, r )作为文件:
file.extractall(path=source_)
写一个7z解压格式的文件解压函数。
def un_7z(源文件,目标文件):
7z文件解压缩
:参数源文件:
:参数目标_:
:返回:
用py7zr。SevenZipFile(源文件, w )作为文件:
file.writeall(target_)
导入rar格式的非标准库解压缩处理。
将rar文件作为rar导入
写一个rar解压格式的文件解压函数。
def un_rar(源文件,目标文件):
Rar文件解压缩
:param源文件:原始文件
:param target_:目标文件路径
:返回:
obj_=rar。RarFile(source _ file . decode( utf-8 ))
obj_。extractall(target_。解码( utf-8 ))
接下来,我们进入正题。首先,使用打印功能打印菜单选项,这允许用户在启动软件后选择菜单。
打印(========Python工具:文件解压软件========)
打印(注意:目前支持zip、7z、rar格式)
打印( 1,文件解压缩格式:zip/rar/7z )
打印( 2,文件操作类型(压缩/解压缩):Y/N )
打印( 3,文件路径选择,需要输入相应的操作文件路径)
打印(========Python工具:文件解压软件========)
使用input函数接收用户输入的文件解压缩格式。
Format_=input(请输入文件解压缩的格式:\n )
使用输入功能接收用户输入的文件操作类型(压缩/解压缩)。
Type_=input(请输入文件操作的类型:\n )
使用输入功能接收用户输入的要操作的文件路径。
Source_=input(请输入原始文件的存储路径(文件或目录:\n )
使用input函数接收用户输入的生成新文件的目标路径。
Target_=input(请输入目标文件的存储路径(文件或目录:\n )
为了保持输入的灵活性,增加了不同格式、不同操作类型的业务判断。
如果format_==zip 和type_==Y:
do_zip(源_,目标_)
elif格式_==zip 和类型_==N:
un_zip(源_,目标_)
elif格式_==rar 和类型_==Y:
un_zip(源_,目标_)
elif格式_==rar 和类型_==N:
un_zip(源_,目标_)
elif格式_==7z 和类型_==Y:
un_zip(源_,目标_)
elif格式_==7z 和类型_==N:
un_zip(源_,目标_)
目前功能点做了三种格式,如有需要,后期可能会对当前版本进行扩展和升级。
这就是这篇关于基于Python制作文件解压工具的文章。关于Python文件解压缩的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。