2014-12-07 25 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())) 

善堂僅僅是分配給什麼是文件中的時間變讀。