我试图通过文件列表查找所有 excel、txt 或 csv 文件并将它们附加到列表
goodAttachments = [i for i in attachments if str(i).split('.')[1].find(['xlsx','csv','txt'])
这显然是行不通的,因为 find() 需要一个字符串而不是一个列表。我应该在列表理解中尝试列表理解吗?
请您参考如下方法:
无需拆分或使用双列表理解。您可以使用 str.endswith 将字符串元组作为参数进行检查:
goodAttachments = [i for i in attachments if str(i).endswith(('.xlsx', '.csv', '.txt'))]
如果真的要拆分:
goodAttachments = [i for i in attachments if str(i).split('.')[-1] in ('xlsx', 'csv', 'txt')]
第一种方法更好,因为它考虑了没有扩展名的文件。
