Python 如何订购文件行?
我必须做一个代码,将产生一个GUI,显示三个类的测试结果,所有信息将在一个文件中。我已经尝试过做一些代码,我可以制作GUI和单选按钮,所有这些都可以工作,但是我得到了一个按钮,它允许你将文本框中的内容按字母顺序排列Python 如何订购文件行?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我必须做一个代码,将产生一个GUI,显示三个类的测试结果,所有信息将在一个文件中。我已经尝试过做一些代码,我可以制作GUI和单选按钮,所有这些都可以工作,但是我得到了一个按钮,它允许你将文本框中的内容按字母顺序排列 from tkinter import * root = Tk() root.title("Test scores") root.geometry("500x300") app = Frame(root) app.grid() test1 = open("names.txt","r
from tkinter import *
root = Tk()
root.title("Test scores")
root.geometry("500x300")
app = Frame(root)
app.grid()
test1 = open("names.txt","r")
test2 = open("score.txt","r")
test3 = open("class.txt","r")
class Application(Frame):
def __init__(self, master):
super(Application, self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
Label(self,
text = "Which class "
).grid(row = 0,column = 0, sticky = W)
Label(self,
text = "Select a class"
).grid(row = 1, column = 0, sticky = W)
self.choose = StringVar()
self.choose.set(None)
Radiobutton(self,
text = "Class 1",
variable = self.choose,
value = test1.read(),
command = self.update_text
).grid(row = 2, column = 0, sticky = W)
self.second = BooleanVar()
Radiobutton(self,
text = "Class 2",
variable = self.choose,
value = test2.read(),
command = self.update_text
).grid(row = 3, column = 0, sticky = W)
self.third = BooleanVar()
Radiobutton(self,
text = "Class 3",
variable = self.choose,
value = test3.read(),
command = self.update_text
).grid(row = 4, column = 0, sticky = W)
self.bttn = Button(self)
self.bttn["text"] = "Alphabetical"
self.bttn["command"] = self.update_order
self.bttn.grid(row = 4, column = 1, sticky = W)
self.results_txt = Text(self, width = 40, height = 5, wrap = WORD)
self.results_txt.grid(row = 5, column = 0, columnspan = 3)
def update_text(self):
likes = ""
likes += self.choose.get()
self.results_txt.delete(0.0, END)
self.results_txt.insert(0.0, likes)
def update_order(self):
sortfile = open("sorted1.txt","w")
for line in sorted(self.results_txt, key = str.lower):
sortfile.write(line)
app = Application(root)
root.mainloop()
这是到目前为止我的代码
我试图对它进行排序,但它不起作用。这是我在网上看到的代码
def update_order(self):
str(sorted(self.results_txt, key=lambda student: student[2]))
如何对文件行进行排序
所以如果第一行有“name”“first score”“second score”“third score”
然后在第二行“不同的名字”“第一个分数”“第二个分数”“第三个分数”
你将如何按字母顺序对它进行排序。我需要将每个分数放在不同的文件上吗?您安装了哪个版本的Tkinter?仅对代码进行两次更改,并使用Tkinter
“$Revision:81008$”
,您的代码对我有效:文本框得到更新。我所做的更改是:来自Tkinter导入*
(注意大写字母)和类应用程序(框架、对象):
在Python2.7下获得一个新样式的类。我不知道我有什么版本。如何找到将Tkinter导入为tk;打印(传统版本)
。在许多Python模块中,在模块的\uuuuu version\uuuuu
属性下列出它们的版本号是非常常见的。它不喜欢(t)kinter大写字母,那么您的版本与我的不同(在Python3.x中,许多模块被重写以符合PEP8,tkinter就是其中之一:大写字母是小写的)。导入tkinter的方式与代码中的方式相同。