Вы перебираете список, возвращенный из os.listdir()
(который не в каком-либо конкретном порядке), один раз. Это означает, что если файлы были заданы в неожиданном порядке, например:
Cycle2.txt
Cycle1.txt
Тогда потребуется * до второй итерации для увеличения cycleNumber
с 1
до 2
, но к тому времени вы уже прошли проходы Cycle2.txt
!
Вместо этого вы должны использовать цикл while:
import os
cycleNumber = 0
while any(f.startswith('Cycle' + str(cycleNumber+1)) for f in os.listdir('Cycles')):
cycleNumber += 1
Тест:
$ mkdir Cycles
$ for i in {1..11}; do touch Cycles/Cycle$i.txt; done;
$ python -q
>>> import os
>>> cycleNumber = 0
>>> while any(f.startswith('Cycle' + str(cycleNumber+1)) for f in os.listdir('Cycles')):
... cycleNumber += 1
...
>>> cycleNumber
11