Python gzip库函数使用方法及实

发布时间:2019-08-30 08:34:11编辑:auto阅读(1903)

    <pre name="code" class="python">解压gzip文件示例:
    import gzip
    f = gzip.open('file.txt.gz', 'rb')
    file_content = f.read()
    f.close()
    
    
    创建gzip文件:
    import gzip
    content = "Lots of content here"
    f = gzip.open('file.txt.gz', 'wb')
    f.write(content)
    f.close()
    
    
    gzip压缩现有文件:
    import gzip
    f_in = open('file.txt', 'rb')
    f_out = gzip.open('file.txt.gz', 'wb')
    f_out.writelines(f_in)
    f_out.close()
    f_in.close()
    
    实例:

    从/opt/mat/*.gz文件中读取每一行,找到包含'GET~#~ ~#~'或者'POST~#~ ~#~'的输出该行

    #!/usr/bin/python
    #!encoding:utf8
    
    import shutil
    import os
    import sys
    import glob
    import re
    import gzip
    
    #扫描目录文件
    def parseFile(filename):
        #打开文件,遍历其中的每一行遇到有'GET~#~ ~#~'或者'POST~#~ ~#~'的输出该行
        file = gzip.open(filename, 'rb')
        #eachline = file.readlines()
        for eachline in file:
            #str = eachline
            #if eachline == "*GET~#~ ~#~*" or eachline == "*POST~#~ ~#~*":
            if eachline.find("GET~#~ ~#~") or eachline.find("*POST~#~ ~#~*"):
                print(eachline)
        file.close()
    if __name__ == '__main__':
        scandir = '/opt/mat/'
        fileform = '*.gz'
        flist = glob.glob(os.path.join(scandir, fileform))
        for item in flist:
            print(item)
            parseFile(item)


关键字