Часть кода не работает

мне нужен такой результат:

            1 25/06/2022, 10:09:35{'phone': '998901577071', 'fio': 'Its me', 'code': '4454'}
            2 25/06/2022, 10:09:58{'phone': '998901577071', 'fio': 'Its me', 'code': '4457'}
            3 25/06/2022, 10:14:18{'phone': '998902930528', 'fio': 'Its me', 'code': '2638'}
            4 25/06/2022, 10:17:32{'phone': '998902930528', 'fio': 'Its me', 'code': '2638'}  
        

Код

        data={'phone': '998902930528', 'fio': 'Its me', 'code': '2638'}
    
    
                with open ('log.txt', 'a+') as log:
                        line_num=0
                        now1=datetime.now()
                        log.write(str(line_num))
                        log.write(' ')
                        log.write(now1.strftime("%d/%m/%Y, %H:%M:%S"))
                        log.write(str(data))
                        log.write('\n')

Получается так:

1 25/06/2022, 10:09:35{'phone': '998901577071', 'fio': 'Its me', 'code': '4454'}
1 25/06/2022, 10:09:58{'phone': '998901577071', 'fio': 'Its me', 'code': '4457'}
1 25/06/2022, 10:14:18{'phone': '998902930528', 'fio': 'Its me', 'code': '2638'}
1 25/06/2022, 10:17:32{'phone': '998902930528', 'fio': 'Its me', 'code': '2638'}
0 25/06/2022, 10:42:34{'phone': '998902930528', 'fio': 'Its me', 'code': '2638'}
0 25/06/2022, 10:44:09{'phone': '998900041004', 'fio': 'Its me', 'code': '3768'}
1 25/06/2022, 10:46:20{'phone': '998901296003', 'fio': 'Its me', 'code': '1119'}

Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Функция count возвращает объект, которые возвращает последовательные целые числа при каждом вызове next. Создайте один такой объект и используйте его для нумерации строк в логе.

def count(start=0, step=1):
    c = start
    while True:
        yield c
        c += step


c = count(1)
print(next(c))
print(next(c))
print(next(c))

P.S. Если что мопед не мой, я только разместил объявление: itertools.count:

import itertools


c = itertools.count(1)
print(next(c))
print(next(c))
print(next(c))
→ Ссылка