<pre name="code" class="python">解壓gzip檔案樣本:import gzipf = gzip.open('file.txt.gz', 'rb')file_content = f.read()f.close()建立gzip檔案:import gzipcontent = "Lots of content here"f = gzip.open('file.txt.gz', 'wb')f.write(content)f.close()gzip壓縮現有檔案:import gzipf_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:utf8import shutilimport osimport sysimport globimport reimport 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)