Я работаю над «простым» интерфейсом поиска, использующим Python и Tkinter.Вот пример кода того, что я получил:
#!/usr/bin/env/python
from tkinter import *
import os
import csv
import sys
def fetch()
word = e1.get()
definitions = []
with open(file) as db:
dbreader = csv.reader(db, delimiter="\t")
for row in dbreader:
if word in row[1]:
definitions.append(row[4])
if not definitions:
output_string = word + " not in database"
else:
output_string = "Found " + word
result_out = Label(master)
result_out.config(text=output_string)
result_out = result_out.grid(row=3, column = 0)
master = Tk()
word_entry = Label(master, text = "word")
word_entry.grid(row=0, column = 0)
e1 = Entry(master)
e1.grid(row=0, column=1)
Button(master, text='Search', command=fetch).grid(row=2, column=1, sticky=(N, S, W, E), pady=4)
mainloop()
Код работает, как задумано, если я ищу слова, которые найдены в базе данных.Если я ищу слово, которого нет в базе данных, мой следующий поиск с присутствующим словом будет перекрывать предыдущий вывод.Наоборот, если я только ищу элементы, не найденные в базе данных, метка обновляется, как и ожидалось.Когда эти петли "чередуются", у меня возникают проблемы.Что в мире происходит?