如果输入不存在,则创建定时标签

时间:2016-04-05 14:26:42

标签: python csv tkinter

我有一个输入标签,您可以在其中输入名称。我希望它搜索csv文件的第0列。如果该名称存在,则它应显示在已创建的列表框中(这样可以正常工作)但如果名称不存在,我想创建一个定时标签(elif部分)。但是,我写的代码在名称不存在时显示标签。

with open('CLASSES.csv', 'rt')as f:
    reader=csv.reader(f)
    people=[]
    for column in reader:
        if column[0]==entry:
            people.append(column[0:8])

            namebox.delete(0,END)

            nameslist=[x[0] for x in people]
            for names in (nameslist):
                namebox.insert(END, names)

        elif column[0]!=entry:
                INC=Label(master,text='User Does Not Exist',bg='#800000',fg='white')
                INC.grid(row=2,column=3,columnspan=5,sticky='s')
                def af():
                    INC.configure(fg='#800000')             
                INC.after(1000, af)

if column[0] == entry:部分工作正常,但我认为我会将其包含在内,以便更容易理解该程序的工作原理。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

您正在显示每个条目的记录。

如果找到条目,请使用boolean类型变量进行存储。在循环开始之前用false初始化它。如果条目相同,请将其设置为true。循环检查此值并将if分支应用于它。

伪代码

search = "SomeEntryValue"
found = False
for line in open("csv-file", "r"):
    if line[0] == search:
        found = True
        # Optional Tasks to be done here for each entry
if found:
    # Display the Data
else:
    # display the "User does not exist" message