Python AttributeError:PageOne实例没有属性';删除';
我正在尝试验证CSV输入文件,以确保用户输入正确的CSV文件。但是,我一直收到错误Python AttributeError:PageOne实例没有属性';删除';,python,tkinter,Python,Tkinter,我正在尝试验证CSV输入文件,以确保用户输入正确的CSV文件。但是,我一直收到错误AttributeError:PageOne实例没有属性“delete”。我似乎不明白为什么 当前,当我输入正确/不正确的CSV文件时,会出现弹出窗口,告诉我是否输入了正确的文件,但代码不会继续进入file\u条目。delete(0,tk.END)和错误AttributeError:PageOne实例没有属性“delete”出现 下面是我的Tkinter框架和验证功能的代码 class PageOne(tk.Fra
AttributeError:PageOne实例没有属性“delete”
。我似乎不明白为什么
当前,当我输入正确/不正确的CSV文件时,会出现弹出窗口,告诉我是否输入了正确的文件,但代码不会继续进入file\u条目。delete(0,tk.END)
和错误AttributeError:PageOne实例没有属性“delete”
出现
下面是我的Tkinter框架和验证功能的代码
class PageOne(tk.Frame):
def get_procurement_file(file_entry):
file_name = fd.askopenfilename(title="Select file", filetypes=(("CSV Files", "*.csv"),))
entry_file = file_name.split("/")[-1]
if entry_file == "government-procurement-via-gebiz.csv":
file_entry.popup_successinfo()
file_entry.delete(0, tk.END)
file_entry.insert(0, entry_file)
else:
file_entry.popup_errorinfo()
file_entry.delete(0, tk.END)
# file_entry.delete(0,END)
# file_entry.insert(0,file_name)
def get_contractor_file(file_entry):
file_name = fd.askopenfilename(title="Select file", filetypes=(("CSV Files", "*.csv"),))
entry_file = file_name.split("/")[-1]
if entry_file == "listing-of-registered-contractors.csv":
file_entry.popup_successinfo()
file_entry.delete(0, tk.END)
file_entry.insert(0, entry_file)
else:
file_entry.popup_errorinfo()
file_entry.delete(0, tk.END)
# file_entry.delete(0,END)
# file_entry.insert(0,file_name)
def popup_successinfo(self):
showinfo("Window", "Successfully input!")
def popup_errorinfo(self):
showinfo("Window", "Wrong input! Please insert the Correct File!")
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
self.entry_csv = tk.Entry(self, text="", width=80, font=20)
self.entry_csv.place(x=250, y=380)
self.entry_csv2 = tk.Entry(self, text="", width=80, font=20)
self.entry_csv2.place(x=250, y=500)
self.label = tk.Label(self, bg="#64dd17", height=10, font=30, text="1002 Dataset Analyzer")
self.label.pack(fill="x")
self.label = tk.Label(self, text="1st Dataset File: ", font=30)
self.label.place(x=100, y=380)
self.button = tk.Button(self, text="Browse...", width=10, height=2, command=lambda: self.get_procurement_file())
self.button.place(x=1000, y=370)
self.label = tk.Label(self, text="2nd Dataset File:", font=30)
self.label.place(x=100, y=500)
self.button = tk.Button(self, text="Browse...", width=10, height=2, command=lambda: self.get_contractor_file())
self.button.place(x=1000, y=490)
self.button = tk.Button(self, text="Upload", command=lambda: controller.show_frame("PageTwo"), width=10, height=2)
self.button.place(x=1250, y=430)
AttributeError:PageOne实例没有属性“delete”
:没错,file\u条目
不是类型tk.entry
。您的问题和演示如何实例化file\u entry=???
。您的def get\u procurement\u文件(file\u entry):
是一个类方法。第一个参数必须是self
,因此您的第一个参数file\u条目
将被分配调用方对象的引用,这是类PageOne的实例
。更改为def get\u procurement\u file(self,file\u entry):
和self.get\u procurement\u file(self.entry\u csv)
。