问题描述
file_list = []
for file in glob.glob("*.txt"):
file_list.append(Path(file).stem)
...(code making buttons here doesn't effect while statement)
while True:
event,values = button_window.read()
print(event)
if event == sg.WIN_CLOSED:
break
elif event == any(file_list[0:len(file_list)]): #(also tried a list comprehension here too)
open_file = open(f"{event}.txt","r+")
read_text = open_file.read()
print(read_text)
open_file.close()
break
如果我将事件更改为列表中的字符串,它会触发。所以我相信这是我的列表理解/这里的任何陈述。
解决方法
我用“in”操作符修正了这个愚蠢的错误,这个错误让我完全忘记了。所以 elif 语句现在是:
elif event in file_list:
open_file = open(f"{event}.txt","r+")
read_text = open_file.read()
print(read_text)
open_file.close()