13.8 创建和解压归档文件¶

问题¶

你需�创建或解压常�格�的归档文件(比如.tar, .tgz或.zip)

解决方案¶

shutil 模�拥有两个函数—— make_archive() 和 unpack_archive() �派上用场。 例如:

>>> import shutil
>>> shutil.unpack_archive('Python-3.3.0.tgz')

>>> shutil.make_archive('py33','zip','Python-3.3.0')
'/Users/beazley/Downloads/py33.zip'
>>>

make_archive() 的第二个�数是期望的输出格�。 �以使用 get_archive_formats() 获�所有支�的归档格�列表。例如:

>>> shutil.get_archive_formats()
[('bztar', "bzip2'ed tar-file"), ('gztar', "gzip'ed tar-file"),
 ('tar', 'uncompressed tar file'), ('zip', 'ZIP file')]
>>>

讨论¶

Python还有其他的模��用�处�多�归档格�(比如tarfile, zipfile, gzip, bz2)的底层细节。 �过,如果你仅仅�是�创建或���个归档,就没有必�使用底层库了。 �以直接使用 shutil 中的这些高层函数。

这些函数还有很多其他选项,用于日志打��预检�文件��等等。 �考 shutil文档