Как ограничить функцию glob в python

У меня есть папка с несколькими файлами, и я хочу сделать простой подсчет внутри, для этого я отслеживаю имена файлов. Проблема в том, что перед этим я отредактировал несколько файлов, и у меня есть два файла, которые начинаются с того же имени и добавляются.bak (из резервной копии)

Пример имени файла в папке:

  1. RF12.st

  2. RF85.st

  3. RF85.st.bak

(общее количество файлов ~2300)

У меня есть сценарий, и я подумал, что работал правильно, но, проверяя вручную некоторые файлы, я понял, что подсчет увеличивается, особенно для тех, у которых есть бак. 90% файлов без.bak имеют правильное число после подсчета, остальные 10% кажутся слишком большими (или я не знаю)... Я хотел бы знать, что я сделал не так? это мой код в итоге:

import os, os.path
import fileinput
from glob import glob

seq = 0

wa = 0
wb = 0
wc = 0



out = open('../check/prev/stats.txt', 'w')
fnames = glob('../check/prev/RF*.st')
for i in range(len(fnames)):

    inFile = open(fnames[i])

    #print type(fnames[0])
    print seq
#   print len(fnames)
    for line in inFile:

        if line[0:6] == ("SinSon"):
            wa += 1
        if line[0:6] == ("SanSin"):
            wb += 1
        if line[0:6] == ("BlaBla"):
            wc += 1
        out.write(fnames[seq]+"\t"+str(wa)+"\t"+str(wb)+"\t"+str(wc)+"\n")

    seq += 1
    wa = 0
    wb = 0
    wc = 0

Спасибо за помощь в продвижении

0 ответов

Другие вопросы по тегам