Как сохранить последнее значение индекса в списке python при выполнении итерации

#python-3.x #iteration

Вопрос:

Мой сценарий таков: допустим, у меня есть a list1= ["a","b","c"] , и этот список является динамическим (данные добавляются). Мое требование состоит в том, что мне нужно каждый день обрабатывать данные списка на eventhub, но я не должен загружать все данные каждый день.Мне просто нужно загрузить дельту.

мой подход таков

 index=0 for i range(len(list1):  ## upload  index=index 1  

Я хочу сохранить последнее значение индекса, например, при первом запуске индекс будет равен 2, а при следующем запуске индекс должен быть 3, а не 0 в соответствии с приведенным выше кодом. Как мне следует действовать?

Ответ №1:

Я бы просто создал локальный файл, в котором хранится индекс. В следующий раз, когда он вам понадобится, загрузите его и продолжайте, предполагая, что вы используете массив и скрипт локально и вам нужно загрузить только часть этого массива.

 import os  index = 0 if os.path.isfile("indexFile.txt"):  f = open("indexFile.txt" , "r")  s = f.read()  f.close() try: index = int(s) except: index = 0  print("index is: "   str(index)) print("do something with that index") index  = 1 print("store the index back to file") f = open("indexFile.txt" , "w") f.write(str(index)) f.close()  

Комментарии:

1. Спасибо вам за ответ. Можно ли обойтись без сохранения его в файле?

2. Если вы будете продолжать работать над сценарием вечно, вам это может не понадобиться. Но в противном случае вам придется хранить эту информацию постоянно. Вы можете сделать это в реестре (Windows) или в базе данных, или в облачном хранилище (если поставщик предлагает эту функцию), или сохранить его в локальном файле, который, как я думаю, самый простой.