Сравнение списков в python во время цикла


У меня есть скрипт, который я использую для чтения файла excel и обновления базы данных SQL. Я читаю файл excel каждые 30 секунд, используя цикл. Однако я только хочу обновить базу данных, когда файл excel изменяется

Если я использую != оператор, когда цикл циклически обновляет значение 'temp' и, таким образом, не регистрирует, что значение то же самое.

Есть ли у кого-нибудь идея, как решить эту проблему?.?

Спасибо! edit: обновлено, чтобы сделать мою проблему больше чисто!

def update(): 
    threading.Timer(1, update).start()
    book = open_workbook('bet.xls')


    def odds():
        sheet = book.sheet_by_name('xyz')
        match_sheet = sheet.cell(5,0).value  
        data = book.sheet_by_name(sheet)
        vv = data.cell(3,26).value

        temp= None 

        if vv != temp:
            print 'hello'

        temp= vv

odds()

Update ()

1 2

1 ответ:

Да, встроенные контейнеры Python сравниваются по значению (как кортежи, списки, так и дикты).

Что-то вроде этого (я использовал понимание списка , чтобы добавить причудливость):

//init
pvv=None

<...>

//iteration
vv= [data.cell(i,j).value for (i,j) in ((2,26),(3,26),(4,26))]
if vv!=pvv: 
    //do something
    pvv=vv