
正文
Python 基于TK 文本编辑器
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
#coding=utf-8
import sys,os
import tkFileDialog
from Tkinter import *
from tkFont import Font print "欢迎使用编辑器: ", str(sys.argv[0])[:-3] class Write(): def __init__(self):
self.tk=Tk()
if len(sys.argv[0])>=2:
fname=self.fname=sys.argv[1]
else:
fname=self.fname='new.txt'
self.createUI(fname)
self.tk.mainloop() def createUI(self,fname):
#create menu
menubar=Menu(self.tk,bg='purple')
fmenu=Menu(menubar,tearoff=0)
fmenu.add_command(label='Open',command=self.open)
fmenu.add_command(label='Save',command=self.save)
fmenu.add_command(label='Exit',command=exit)
menubar.add_cascade(label="File", menu=fmenu)
self.tk.title("Welcome to writer!")
self.tk.geometry("800x600")
self.tk.config(menu=menubar,background="gray",borderwidth = 8)
#l =
self.txt=Text(width=6000,height=6000,font=Font(self.tk,size=14))
with open(fname) as f:
content = f.read()
f.close()
print content
filecontent=content
#self.txt.delete(1.0,END)
self.txt.insert(INSERT,filecontent)
self.txt.pack() def save(self):
txtContent = self.txt.get(1.0,END)
self.saveFile(content=txtContent) def open(self):
self.filename = tkFileDialog.askopenfilename(initialdir = os.getcwd())
filecontent=self.openFile(fname=self.filename)
if filecontent is not -1:
self.text.delete(1.0,END)
self.text.insert(1.0,filecontent) def openFile(self,fname=None):
if fname is None:
return -1
self.fname = fname
file = open(fname,'r+')
content = file.read()
file.close()
return content def saveFile(self,content=None):
if content is None:
return -1
file=open(self.fname,'w')
file.write(content)
file.flush()
file.close()
return 0 def exit(self):
sys.exit(0) if __name__ == '__main__':
if len(sys.argv)>=2:
Write()
else:
print "请加上需要编辑的文件名,例:python %s new.txt"%sys.argv[0]
writer.py







