我的linux目录中有一个文件夹/ var / tmp,其中有多个.gz文件,它们的格式如下(name_yyyymmddhhmmss.gz)。
aakashdeep_20181120080005.gz aakashdeep_20181120080025.gz kalpana_20181119080005.gz aakashdeep_20181120080025.gz
现在,我想打开所有格式为name_20181120 * .gz的gz文件,而无需将其解压缩并从其中读取内容。
我写了一个简单的代码
导入gzip
输出= gzip.open('/ var / tmp / Aakashdeep / aakashdeep_20181120080002.gz','r')
对于输出中的行: 打印(行)
并且同样给了我预期的输出,但是我想像下面一样打开所有文件 输出= gzip.open('/ var / tmp / Aakashdeep / aakashdeep_20181120 * .gz','r')
有人可以建议我这样做吗??
答案 0 :(得分:0)
使用glob.glob
获取要处理的文件列表,然后使用gzip.open
打开每个文件,对其内容进行处理,然后移至下一个。大纲(未试用):
import glob
import gzip
ZIPFILES='/var/tmp/Aakashdeep/aakashdeep_20181120*.gz'
filelist = glob.glob(ZIPFILES)
for gzfile in filelist:
# print("#Starting " + gzfile) #if you want to know which file is being processed
with gzip.open( gzfile, 'r') as f:
for line in f:
print(line)