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
循环不再运行,这意味着用户无法输入另一个文件来尝试打开。我似乎无法理解为什么会这样。
答案 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只是在阅读时分配给文件中任何内容的变量。