在python图形窗口中的按钮

时间:2014-12-07 22:09:23

标签: python loops button

def read_inventory(fname):
    file=open(fname,'r')
    lst=file.readlines()
    return lst


while True:
    c=win.getMouse()#c=click
    if p2.x<c.x<p1.x and p2.y<c.y<p1.y:
        lst=read_inventory(file_name_E.getText())
        print(lst)

在python图形窗口中,我试图创建一个按钮,打开一个用户输入名称的文件。但是,如果该文件不存在,则会出现错误并且while True循环不再运行,这意味着用户无法输入另一个文件来尝试打开。我似乎无法理解为什么会这样。

2 个答案:

答案 0 :(得分:1)

试试这个:

def read_inventory(fname):
    file=open(fname,'r')
    lst=file.readlines()
    return lst

while True:
        try:
            c=win.getMouse()#c=click
            if p2.x<c.x<p1.x and p2.y<c.y<p1.y:
                lst=read_inventory(file_name_E.getText())
                print(lst)
        except:
            pass

答案 1 :(得分:1)

try except block工作得很好,这就是我得到的:

def read_inventory(fname):
    file=open(fname,'r')
    lst=file.readlines()
    return lst

while True:
    c=win.getMouse() #c=click
    if p2.x<c.x<p1.x and p2.y<c.y<p1.y:
        try:
            lst=read_inventory(file_name_E.getText())
            print(lst)
        except:
            print("File name '{}' does not exist.".format(file_name_E.getText()))

lst只是在阅读时分配给文件中任何内容的变量。