我想在GUI上显示txt文件。但是,我遇到了一些问题。
from tkinter import*
from tkinter import ttk
window=Tk()
window.title("Guild of Ceramic Arts")
def showproductsbt():
file=open(tab2,"products.txt","r")
tab_control=ttk.Notebook(window)
tab2=ttk.Frame(tab_control)
tab_control.add(tab2,text="Order Products")
productslist=Label(tab2,text="Products list",font=("",15)).grid(column=0,row=0)
showproducts=Button(tab2,text="Show Products",font=("",10),command=showproductsbt).grid(column=2,row=0)
tab_control.pack(expand=1,fill='both')
window.mainloop()
这是代码,如果我按“显示产品”按钮,它将显示这种类型的错误。
Exception in Tkinter callback
Traceback (most recent call las`enter code here`t):
File "C:\Program Files (x86)\Python36-32\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "D:\Yoon Nam_Python Project\Python System\Python code.py", line 97, in showproductsbt`enter code here`
file=open(tab2,"products.txt","r")
TypeError: an integer is required (got type str)
我试图从其他资源中获得帮助,但我真的不太了解。
答案 0 :(得分:1)
open
方法的第一个参数是文件的名称,而不是tkinter框架,这就是错误。我不确定您要通过tab2
做什么,但是您只需要删除它,然后编写file = open('products.txt', 'r')
即可为您提供文件句柄,然后您就可以执行任何操作它。
您可能应该考虑使用上下文管理器:
with open('products.txt', 'r') as file:
# Do something with the file
退出范围时,这将自动关闭文件,因此您不必为此担心。