Это ваша проблема:
logfile = open('result3.log', 'w')
logfile.write(word + '\n' + ln)
logfile.close()
Каждый раз, когда вы открываете файл журнала, подобный этому, он стирает все, что было в нем раньше, и начинает запись с начала файла,Вы можете либо изменить open
на
logfile = open('result3.log', 'a')
(«a» означает «добавление»), либо - лучше - открыть logfile
только один раз, вне самого внешнего цикла, например так:
regex = re.compile(r'(?:3\d){6}')
with open('result3.log', 'w') as logfile:
for root, dirname, files in os.walk(directory):
# ...
logfile.write(word + '\n' + ln)
with
позаботится о том, чтобы закрыть файл для вас, поэтому вам не нужен явный logfile.close()
.(Было бы лучше использовать with
, чтобы также открыть f
, хотя бы так, чтобы f.close()
не болтался там ниже вложенных циклов.) (Дальнейшее добавление: enumerate(f.readlines())
совпадает с enumerate(f)
кроме медленнее.)