2014-12-07 98 views
1
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循环不再运行,这意味着用户无法输入另一个文件来尝试打开。我似乎无法理解为什么会发生这种情况。python图形窗口中的按钮

+0

@BhargavRao我希望该文件能够再次接受输入并尝试打开该文件。 – malabeh 2014-12-07 22:17:19

+0

把文件打开试试,除了块 – 2014-12-07 22:18:58

+0

@BhargavRao我不知道那是什么,我会查找它,但你也可以举个例子吗? – malabeh 2014-12-07 22:23:03

回答

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 
+0

@BargavRao什么是OP? – Ace 2014-12-07 22:52:44

+1

哦。修复。 – Ace 2014-12-07 23:07:35

1

除了块的尝试完美的工作,这是我的了:

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())) 

善堂仅仅是分配给什么是文件中的时间变读。