python安装model的命令(使用python展开tar包)

类Unix的系统,打包文件经常使用的就是tar包,结合zip工具,可以方便的打包并解压。

在python的标准库里面有tarfile库,可以方便实现生成了展开tar包。使用这个库最大的好处,可能就在于不需要使用外部的程序调用来实现展开tar包。要知道subprocess库的使用看似简单,但是真要处理异常,还是比较麻烦的事。

tarfile.open()函数可以返回一个TarFile对象,同样实现了ContextManager接口,你可以使用with语句。

首先可以使用list()方法,打印输出包里面的内容。

python安装model的命令(使用python展开tar包)(1)

python安装model的命令(使用python展开tar包)(2)

对于程序来说,这个基本没有什么用,但是用于调试查看还是不错的。

接着是提取文件,extractall()可以提取所有文件到指定文件夹:

以下代码提取所有文件到extracted子目录

python安装model的命令(使用python展开tar包)(3)

python安装model的命令(使用python展开tar包)(4)

TarFile实现了next()方法,也就是可以使用for in语句进行遍历,返回的对象是TarInfo类型:

python安装model的命令(使用python展开tar包)(5)

python安装model的命令(使用python展开tar包)(6)

当然也可以解压单个文件,使用extract()方法,可以传入一个TarInfo实例,也可以传入路径的字符串。下面代码遍历传入TarInfo,展开到extracted2目录。后面一部分实例使用字符串,展开到extracted3目录。

python安装model的命令(使用python展开tar包)(7)

python安装model的命令(使用python展开tar包)(8)

extract函数有个缺点,就是没有办法用另一个文件名进行展开,只能使用extractfile返回的内容,写入另外一个已打开的文件,希望以后能直接提供这个功能。

python安装model的命令(使用python展开tar包)(9)

python安装model的命令(使用python展开tar包)(10)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页