如果条件应该 return 为真,但 return 为假

If condition should return true, but returns false

在此代码中:

import tkinter as tk
root = tk.Tk()
root.geometry("250x400")
patternIntrare="0000000001"
patternIntrariGol="0000000000"
patternMatrice="1100000\n0000000\n0000000\n0000000\n0000000"

def function():
    with open("config.txt", "a+") as fisierText:
            if patternIntrare==patternIntrariGol:
                tk.messagebox.showerror("Eroare", "Nu ati ales nicio intrare pe vectorul de modele!")
            else:
                if patternMatrice in fisierText.read():
                    tk.messagebox.showwarning("Atentie", "Acest model exista deja in baza de date!")
                else:
                    tk.messagebox.showinfo("Nice", "E ok")

save=tk.Button(text="SAVE", command=function)
save.place(x=10, y=365)                

root.mainloop()                

为什么这样做:

if patternIntrare==patternIntrariGol:
                tk.messagebox.showerror("Eroare", "Nu ati ales nicio intrare pe vectorul de modele!")

而这不是:

if patternMatrice in fisierText.read():
                    tk.messagebox.showwarning("Atentie", "Acest model exista deja in baza de date!")

文件信息是这样的:

1100000
0000000
0000000
0000000
0000000
0100000000

1100000
0000000
0000000
0000000
0000000
0100000000

1100000
0000000
0000000
0000000
0000000
0100000000

我认为问题出在文件读取中,因为涉及字符串的第一个 if 条件工作得很好;另一个涉及某种文件解析失败。我在 Stack Overflow 上搜索过,人们似乎以同样的方式阅读文件。

with open("config.txt", "a+") as fisierText::这会将文件指针移动到文件末尾。因此 fisierText.read() 将读取 nothing 所以我将文件打开修改为 with open("config.txt", "r") as fisierText:.