加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python压缩和解压缩文件的简单示例

发布时间:2020-12-17 07:10:04 所属栏目:Python 来源:网络整理
导读:感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。 1,单个文件压缩成zip文件 # 来自jb51.cc #!/usr/bin/pythonimport zipfilef = zipfile.ZipFile(archive.zip,w,zipfile.ZIP_DEFLATED)f.write(1.py)f.write(/root/install.log)f.close() 仔细
感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编来看看吧。
1,单个文件压缩成zip文件

# 来自52php.cn 
#!/usr/bin/python
import zipfile
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
f.write('1.py')
f.write('/root/install.log')
f.close()
仔细观察压缩以后的archive.zip,里面有一个1.py和一个root的目录,root目录下有一个install.log
ZIP_DEFLATED是压缩标志,如果使用它需要编译了zlib模块,如果仅仅是打包而不压缩的话,可以改为zipfile.ZIP_STORED


2,把zip文件解压缩

# 来自52php.cn 
#!/usr/bin/python
import zipfile
zfile = zipfile.ZipFile('archive.zip','r')
for filename in zfile.namelist():
    data = zfile.read(filename)
    file = open(filename,'w+b')
    file.write(data)
    file.close()
如果archive.zip里有目录,则在当前目录下也应该存在对应的目录,否则会报错。


3,把整个文件夹压缩

# 来自52php.cn 
#!/usr/bin/python
import zipfile
import os
f = zipfile.ZipFile('archive.zip',zipfile.ZIP_DEFLATED)
startdir = "c:\mydirectory"
for dirpath,dirnames,filenames in os.walk(startdir):
    for filename in filenames:
        f.write(os.path.join(dirpath,filename))
f.close()

如果出现:Compression requires the (missing) zlib module

解决方法:yum install zlib zlib-devel,然后重新编译安装python

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读