手机
当前位置:查字典教程网 >脚本专栏 >python >python写的一个文本编辑器
python写的一个文本编辑器
摘要:复制代码代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-#=====================...

复制代码 代码如下:

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#=============================================================================

# FileName:

# Desc:

# Author: ToughGuy

# Version: 0.0.1

# LastChange: 2013-02-20 14:52:11

# History:

#=============================================================================

from Tkinter import *

import tkMessageBox,tkFileDialog

import platform

# nl = os.linesep

def openfile():

global filename # 使用global声明为全局变量,方便后边的程序调用

systype = platform.system() # 判断系统类型

if systype == 'windows':

basedir = 'c:'

else:

basedir = '/'

filename = tkFileDialog.askopenfilename(initialdir=basedir)

try:

fobj_r = open(filename, 'r')

except IOError, errmsg:

print '*** Failed open file:', errmsg

else:

editbox.delete(1.0, END)

for eachline in fobj_r:

editbox.insert(INSERT, eachline)

fobj_r.close()

def savefile():

save_data = editbox.get(1.0, END)

try:

fobj_w = open(filename, 'w')

fobj_w.writelines(save_data.encode('utf-8'))

fobj_w.close()

tkMessageBox.showinfo(title='提示',

message='保存成功')

except IOError, errmsg:

tkMessageBox.showwarning(title='保存失败', message='保存出错 ')

tkMessageBox.showwarning(title='错误信息', message=errmsg)

except NameError:

tkMessageBox.showwarning(title='保存失败', message='未打开文件')

def showlinenum():

tkMessageBox.showinfo(title='提示',

message='这个功能作者现在不会写,放这里装饰用的.')

def destroy_ui(ui):

ui.destroy()

def aboutauthor():

author_ui = Toplevel()

author_ui.title('关于')

author_ui.geometry('200x80')

about_string = Label(author_ui,

text="作者: ToughGuy")

confirmbtn = Button(author_ui, text='确定',

command=lambda:destroy_ui(author_ui))

about_string.pack()

confirmbtn.pack()

# author_ui.mainloop()

def CreateMenus():

# 初始化菜单

Menubar = Menu(root)

# 创建文件菜单

filemenu = Menu(Menubar, tearoff=0)

filemenu.add_command(label='打开文件', command=openfile)

filemenu.add_command(label='保存文件', command=savefile)

filemenu.add_command(label='退出', command=lambda:destroy_ui(root))

Menubar.add_cascade(label='文件', menu=filemenu)

# 创建编辑菜单

editmenu = Menu(Menubar, tearoff=0)

editmenu.add_command(label='显示行号', command=showlinenum)

Menubar.add_cascade(label='编辑', menu=editmenu)

# 创建帮助菜单

helpmenu = Menu(Menubar, tearoff=0)

helpmenu.add_command(label='关于作者', command=aboutauthor)

Menubar.add_cascade(label='帮助', menu=helpmenu)

root.config(menu=Menubar)

root = Tk()

root.title('文本编辑器')

root.geometry('500x400')

CreateMenus()

editbox = Text(root, width=70, height=25, bg='white')

editbox.pack(side=TOP, fill=X)

root.mainloop()

【python写的一个文本编辑器】相关文章:

vc6编写python扩展的方法分享

python读写文件操作示例程序

python正则分组的应用

python 获取本机ip地址的两个方法

用python实现的可以拷贝或剪切一个文件列表中的所有文件

python条件和循环的使用方法

python局部赋值的规则

Python open读写文件实现脚本

python将多个文本文件合并为一个文本的代码(便于搜索)

python生成器的使用方法

精品推荐
分类导航