python标准库之zipfile压缩文件与解压缩zip
什么是zip文件?为何在网络上zip打包的文件比较常见?而不是rar?
zip是一种压缩归档的文件,zip开源的。
python的zipfile模块,有两个主要的类
ZipFile()
函数,判断是否为zip类型文件
zipfile.is_zipfile(filename)
Returns True if filename is a valid ZIP file based on its magic number,otherwise returns False. filename may be a file or file-like object too
直接从压缩文件中读取文件内容
ZipFile.read(name[, pwd])
# 实际上调用了self.open().read()
Return the bytes of the file name in the archive. name is the name of thefile in the archive
ZipFile.open(name[, mode[, pwd]])
Extract a member from the archive as a file-like object (ZipExtFile)
ZipFile.close()
Close the archive file. You must call close() before exiting your programor essential records will not be written.
ZipInfo()
# 压缩到指定文件 def file_zip(src, dst): zip_obj = ZipFile(dst, mode='w') zip_obj.write(src) zip_obj.close() # 解压缩 def unzip(src): zip_obj = ZipFile(src, mode='r') for info in zip_obj.filelist: zip_obj.extract(member=info) zip_obj.close()
zipfile的命令行接口
Usage:
zipfile.py -l zipfile.zip # Show listing of a zipfile
zipfile.py -t zipfile.zip # Test if a zipfile is valid
zipfile.py -e zipfile.zip target # Extract zipfile into target dir
zipfile.py -c zipfile.zip src ... # Create zipfile from sources
-c Create
-e Extract(提取)
-l List