Python получает список файлов, если они относятся к одному из двух типов

#json #python-3.x

Вопрос:

Это должно быть очень просто. Я хочу получить список всех файлов, которые являются либо json, либо xlsm

     filelist = os.listdir(path='.')
    jsonlist = [s for s in filelist if (".json" or ".xlsm") in s]
 

Вышеизложенное дает мне список только json. Если я удалю (), я получу все файлы в папке, и если я заменю «или» на «и», я получу только xlsm. Как мне это исправить?

Ответ №1:

Ваше состояние формируется неправильно:
jsonlist = [s for s in filelist if (".json" in s) or (".xlsm" in s)]