#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) или в базе данных, или в облачном хранилище (если поставщик предлагает эту функцию), или сохранить его в локальном файле, который, как я думаю, самый простой.