如何写入已经制作的.txt文件python

时间:2014-07-06 02:34:54

标签: python text tkinter editor

我已经制作了一个非常基本的文本编辑器,您可以将其保存到新的.txt文件或打开现有的文本文件。但是我希望能够在用户打开文本文件并点击保存按钮的情况下用新文本替换他们打开的文件。任何可以让我开始的想法?

from Tkinter import *
import tkFileDialog

class Application(Frame):
def __init__(self, master):
    Frame.__init__(self,master)
    self.grid()
    self.Create_Widgets()

def Create_Widgets(self):
    self.SButton = Button(self,width=35)
    self.SButton["text"]="Save"
    self.SButton["command"]=self.Save
    self.SButton.grid(row=0,column=0)

    self.OButton = Button(self,width=35)
    self.OButton["text"]="Open"
    self.OButton["command"]=self.Open
    self.OButton.grid(row=0,column=1)

    self.Cont = Text(self,width=60,height=40)
    self.Cont.grid(row=1,column=0,columnspan=2)

def Save(self):
    Content=self.Cont.get(1.0,END)
    File = tkFileDialog.asksaveasfile(mode='w', defaultextension=".txt")
    if File is None:
        return
    File.write(Content)
    File.close()

def Open(self):
    Content=self.Cont.get(0.0,END)
    File1 = tkFileDialog.askopenfilename()
    File2 = open(File1,"r")
    Cont2 = File2.read()
    self.Cont.delete(1.0, END)
    self.Cont.insert(1.0, Cont2)

 root=Tk()
 root.title="Basic Notepad 0.1"


 app=Application(root)

 root.mainloop()

1 个答案:

答案 0 :(得分:1)

记住已打开文件的名称(例如"old_name"),然后在

中使用它
tkFileDialog.asksaveasfile(initialfile="old_name")

顺便说一句:您可以创建按钮SAVESAVE AS... 第一个人可以在不询问姓名的情况下写文件。