Я пытаюсь написать программу, которая будет читать все файлы в папке и выводить все их содержимое в один файл. Файлы архивируются с расширением .gz. Мне удалось прочитать один файл, но не все его содержимое и не остальные файлы. Вот мой код:
import glob, gzip, re
import pickle
filed = open('Logs.txt', 'w')
logfilenames = glob.glob('*.gz')
logformat = re.compile(r'^\S+ \S+ \S+ \[([\w:/]+\s[+\-]\d{4})\] "(\S+) (\S+) .*" (\d+) (\d+) "([^"]*)" "[^"]*"')
with gzip.GzipFile(logfilenames[0],'r') as f:
for i in glob.glob('*.gz'):
txtline = f.readline()
parsedline = logformat.match(txtline)
print "time={t} size={s} url={u}".format(t=parsedline.group(1), s=parsedline.group(5), u=parsedline.group(3))
pickle.dump(["time={t} size={s} url={u}".format(t=parsedline.group(1), s=parsedline.group(5), u=parsedline.group(3))],filed)
filed.close()