zoukankan      html  css  js  c++  java
  • python zipfile使用

    the Python challenge中第6关使用到zipfile模块,于是记录下zipfile的使用

    zip日常使用只要是压缩跟解压操作,于是从这里入手

    1、压缩

    f=zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

    创建一个zip文件对象,压缩是需要把mode改为‘w’,这个是源码中的注释Open the ZIP file with mode read "r", write "w" or append "a",a为追加压缩,不会清空原来的zip

    f.write(filename)

    将文件写入zip文件中,即将文件压缩

    f.close()

    将zip文件对象关闭,与open一样可以使用上下文with as

    import zipfile
    
    with zipfile.ZipFile('test.zip', mode='w') as zipf:
       zipf.write('channel.zip')
       zipf.write('zip_test.py')
    
    zipf = zipfile.ZipFile('test.zip')
    print zipf.namelist()

    2、解压

    f.extract(directory)和f.exractall(directory)

    import zipfile
    
    
    zipf = zipfile.ZipFile('test.zip')
    
    zipf.extractall('channel1')#将所有文件解压到channel1目录下

    高级应用 
    1 zipfile.is_zipfile(filename) 
    判断一个文件是不是压缩文件 
    2 ZipFile.namelist() 
    返回文件列表 
    3 ZipFile.open(name[, mode[, password]]) 
    打开压缩文档中的某个文件

    if zipfile.is_zipfile('test.zip'): #is_zipfile() 判断是否似zip文件
       f = zipfile.ZipFile('test.zip')
       files = f.namelist() #namelist() 返回zip压缩包中的所有文件
       print 'files:', files
       mess = f.open('channel/readme.txt') #打开zip压缩包中的某个文件,可读可写
       print 'mess:', mess.read()
       f.close()
  • 相关阅读:
    Centos LNMP 安装日记
    记录一次开源工单系统
    搭建Lvs负载均衡群集
    使用yum配置lnmp环境(CentOS7.6)
    AWK的介绍学习
    Shell应用之网卡流量监测
    【NLP】RNN、LSTM、GRU
    【机器学习】Softmax及求导
    【PyTorch】使用中注意事项
    【实作】CNN-人脸表情识别
  • 原文地址:https://www.cnblogs.com/alummox/p/7414279.html
Copyright © 2011-2022 走看看