类Unix的系统,打包文件经常使用的就是tar包,结合zip工具,可以方便的打包并解压。
在python的标准库里面有tarfile库,可以方便实现生成了展开tar包。使用这个库最大的好处,可能就在于不需要使用外部的程序调用来实现展开tar包。要知道subprocess库的使用看似简单,但是真要处理异常,还是比较麻烦的事。
tarfile.open()函数可以返回一个TarFile对象,同样实现了ContextManager接口,你可以使用with语句。
首先可以使用list()方法,打印输出包里面的内容。
对于程序来说,这个基本没有什么用,但是用于调试查看还是不错的。
接着是提取文件,extractall()可以提取所有文件到指定文件夹:
以下代码提取所有文件到extracted子目录