Почему у меня ошибка при проверке существующих данных (python) - PullRequest
0 голосов
/ 18 февраля 2020

Существует проблема с кодом, он отображает ошибку об отступе блока. Может ли кто-то с другой точки зрения проверить этот код? И объясните, почему существует проблема с оператором if? Возможно также у вас есть некоторые предложения для текущего кода.

С уважением, J.

from tkinter import *

root = Tk()
root.geometry("700x700")
ivn = StringVar()
inputVarName = Entry(root, textvariable=str(ivn))
ivn.set(str("text1"))
inputVarName.grid(row=0, column=0)

ivn2 = StringVar()
inputVarName2 = Entry(root, textvariable=str(ivn2))
ivn2.set(str("text2"))
inputVarName2.grid(row=1, column=0)


def printSomething():
    with open('help.txt') as f:
        r = f.read()
    label = Label(root, text=r)
    label.grid()


def checkdata():
    with open('help.txt') as f:
        r = f.read()
    return r.split("\n")


def writetofile():
    exist_data = checkdata()
    content_list = [ivn.get(), ivn2.get()]
    with open("help.txt", "a") as f:
        for item in content_list:
        if item in exist_data:
            msg = "Already exist "+item
            label = Label(root, text=msg)
            label.grid()
        elif not item in exist_data:
            f.write("%s\n" % item)


applyButton = Button(root, text="Add Data", command=writetofile)
applyButton.grid(row=2, column=1)

veiwButton = Button(root, text='View Data', command=printSomething)
veiwButton.grid(row=3, column=1)

root.mainloop()

1 Ответ

2 голосов
/ 18 февраля 2020

Измените вашу writetofile() функцию следующим образом:

def writetofile():
    exist_data = checkdata()
    content_list = [ivn.get(), ivn2.get()]
    with open("help.txt", "a") as f:
        for item in content_list:
            if item in exist_data:
                msg = "Already exist "+item
                label = Label(root, text=msg)
                label.grid()
            elif not item in exist_data:
                f.write("%s\n" % item)

Я только что отступил в строках после for item in exist_data:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...