如何将字符串写入文件的下一行?

How do I write a string to the next line in a file?

我正在尝试制作一个 Tkinter 程序,该程序将一行写入文件,然后将其显示在下面的标签中。我已经弄清楚如何在标签中显示一行文件,但是当我使用书写功能时,它会将新行写在旧行的顶部而不是下一行。请告诉我如何写到下一行。 到目前为止,这是我的代码:

from Tkinter import *
import sys
f=open("stats")
line1=f.readline()
line2=f.readline()
line3=f.readline()
line4=f.readline()
line5=f.readline()
line6=f.readline()
line7=f.readline()
line8=f.readline()
line9=f.readline()
line10=f.readline()

def write():
      f=open("stats", "w")
      f.write(e1.get())
      f.write(" ")
      f.write(e2.get())
      f.write("\n")
      e1.delete(0, END)
      e2.delete(0, END)

root=Tk()
root.title("Basketball Stats")
l1=Label(text="Player").grid(column=0, row=0)
l2=Label(text="Number").grid(column=0, row=1)
e1=Entry().grid(column=1, row=0)
e2=Entry().grid(column=1, row=1)
b1=Button().grid(column=1, row=3)
b1.config(text="Submit", command=write)
l3=Label(text=line1).grid(column=0, row=4)
l4=Label(text=line2).grid(column=0, row=5)
l5=Label(text=line3).grid(column=0, row=6)
l6=Label(text=line4).grid(column=0, row=7)
l7=Label(text=line5).grid(column=0, row=8)
l8=Label(text=line6).grid(column=0, row=9)
l9=Label(text=line7).grid(column=0, row=10)
l10=Label(text=line8).grid(column=0, row=11)
l11=Label(text=line9).grid(column=0, row=12)
l12=Label(text=line10).grid(column=0, row=13)
root.mainloop()

改为

def write():
   f=open("stats", "a")

"w" 创建新文件删除现有文件

"a" 附加到现有文件,如果不存在则创建它

我认为问题是你每次写一行都要重新打开文件。 将打开命令移至主程序——完成后记得关闭它。