[英]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()
不会读取任何内容,因此我将打开的文件修改为with open("config.txt", "r") as fisierText:
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.