用python开发一个编辑器,将该编辑器中的文件保存为.note文件
时间: 2024-05-09 12:16:06 浏览: 11
好的,以下是一个简单的Python编辑器,可以保存为.note文件:
``` python
import tkinter as tk
from tkinter import filedialog
class Editor:
def __init__(self, master):
self.master = master
master.title("Python Editor")
# 创建文本框和滚动条
self.text = tk.Text(master)
self.scrollbar = tk.Scrollbar(master, command=self.text.yview)
self.text.config(yscrollcommand=self.scrollbar.set)
self.text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
self.scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
# 创建菜单栏
self.menu_bar = tk.Menu(master)
self.file_menu = tk.Menu(self.menu_bar, tearoff=0)
self.file_menu.add_command(label="New", command=self.new_file)
self.file_menu.add_command(label="Open", command=self.open_file)
self.file_menu.add_command(label="Save", command=self.save_file)
self.file_menu.add_separator()
self.file_menu.add_command(label="Exit", command=self.master.quit)
self.menu_bar.add_cascade(label="File", menu=self.file_menu)
self.master.config(menu=self.menu_bar)
# 当前文件名
self.current_file = None
def new_file(self):
self.text.delete(1.0, tk.END)
self.current_file = None
def open_file(self):
file_path = filedialog.askopenfilename(defaultextension=".note",
filetypes=[("Note Files", "*.note"), ("Text Files", "*.txt"), ("All Files", "*.*")])
if file_path:
self.current_file = file_path
self.text.delete(1.0, tk.END)
with open(file_path, "r") as f:
self.text.insert(tk.END, f.read())
def save_file(self):
if self.current_file:
with open(self.current_file, "w") as f:
f.write(self.text.get(1.0, tk.END))
else:
file_path = filedialog.asksaveasfilename(defaultextension=".note",
filetypes=[("Note Files", "*.note"), ("Text Files", "*.txt"), ("All Files", "*.*")])
if file_path:
self.current_file = file_path
with open(file_path, "w") as f:
f.write(self.text.get(1.0, tk.END))
def main():
root = tk.Tk()
editor = Editor(root)
root.mainloop()
if __name__ == "__main__":
main()
```
你可以将该代码保存为一个.py文件,然后使用以下命令来运行:
```
python editor.py
```
当你想要保存文件时,选择"Save"菜单即可,你可以将文件名保存为.note格式的文件。