Примечание: это должно состоять из множества комментариев в интересах читабельности
Ваш вопрос, как он есть, не является MCVE.Чтобы сделать его более кратким и определить точную причину:
import os
if __name__ == "__main__":
# Remove try block, just let it raise an error
my_counter = 0
for file in os.listdir("some_directory"):
# you don't need to call the __contains__ method
# as the 'in' keyword will invoke that for you
if "VCCS" in file:
# increment your counter first
my_counter += 1
print(file, my_counter)
Теперь нет никаких сомнений в том, что модифицирует my_counter
, и это распечатает файл, который вы просматриваетевместе со счетчиком.
Как только вы исправите это поведение, вы можете начать добавлять другие свои функции
import os
if __name__ == "__main__":
# Remove try block, just let it raise an error
my_counter = 0
for file in os.listdir("some_directory"):
if 'VCCS' in file:
my_counter += 1
print(my_counter, file)
# Add functions back in one by one
PENDING_RECORDS = FindPendingRecords().get_excel_data()
Продолжайте этот процесс, пока не определите что вызывает ваше поведение.В настоящее время я не вижу ничего явного, что могло бы перезаписать эту переменную счетчика, поэтому я подозреваю, что либо А) код, который вы разместили, не отражает то, что выполняется, либо Б) вы модифицируете /сброс files_in_directory
где-то еще в модуле.
Рекомендуемое редактирование:
Я бы порекомендовал вам добавить другой код из вашего модуля, чтобы увидеть, что происходит.Таким образом, у нас будет более четкое представление о том, что происходит, когда ваш код выполняется