Python PySimpleGUI 事件不会从字符串列表中触发

问题描述


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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...