我为python制作的记事本不起作用

时间:2015-08-18 01:28:52

标签: python python-2.7

嗨所以我是一个新的Python开发人员,我正在制作一个记事本,如果你可以帮助它会非常精彩,我会遇到这个错误:)

from Tkinter import *
from tkFileDialog import *

filename = None

def newFile():
    global filename
    filename = "Untitled - Rename This!"
    text.delete(0.0, END)

def saveFile():
    global filename
    t = text.get(0.0, END)
    f = open(filename, 'w')
    f.write(t)
    f.close()

def saveAs():
    f = asksaveasfile(mode='w', defaultextension='.txt')
    t = text.get(0.0, END)
    try:
        f.write(t.rstrip())
        except:
        showerror(title="Error", message="Unable able to save file :(.")

def openFile():
    f = askopenfile(mode='r')
    t = f.read()
    text.delete(0.0, END)
    text.insert(0.0, t)

root = Tk()
root.title("SnakePad")
room.minsize(width=800, height=600)
root.maxsize(width=800, height=600)

text = Text(root, width=800, height=600)
text.pack()

menubar = Menu(root)
filemenu = Menu(menubar)
filemenu.add_command(label="New Document", command=newFile)
filemenu.add_command(label="Open Document", command=openFile)
filemenu.add_command(label="Save Document", command=saveFile)
filemenu.add_command(label="Save As.....", command=saveAs)
file.add_seperator()
file.add.command(label="Exit :(", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)

root.comfig(menu=menubar)
root.mainloop()

我收到此错误

  File "notepad.py", line 23
    except:
         ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:0)

在你的函数saveAs()中,except错误缩进。它应该缩进到与try:相同的级别,而不是在其中。示例 -

def saveAs():
    f = asksaveasfile(mode='w', defaultextension='.txt')
    t = text.get(0.0, END)
    try:
        f.write(t.rstrip())
    except:
        showerror(title="Error", message="Unable able to save file :(.")

另一个问题是,你的行中有一个拼写错误 -

room.minsize(width=800, height=600)

应为root - root.minsize(width=800, height=600)

其他拼写错误 -

您使用的是file.add_separator()file.add.command(),它应该是filemenu.file.add.command()应该是 - filemenu.add_command(label="Exit :(", command=root.quit)

然后您正在使用 - root.comfig(menu=menubar) - 这应该是 - root.config(menu=menubar)