问题描述
我遵循了这个问题中的解决方案:Check if a Python list item contains a string inside another string
但不同的是我使用了通配符过滤器 *txt.gz
file_list = ['file0.test.json.gz','file2.txt','file3.test.txt.gz','file4.test.txt.gz']
预期结果:
['file3.test.txt.gz','file4.test.txt.gz']
我试过了:
filtered_list = [s for s in ftp_file_list if "*txt.gz" in s]
输出:
[]
有人可以帮忙吗?谢谢。
解决方法
您可以使用 split()
并将最后两个单词与 txt
和 gz
进行比较:
out = [file for file in file_list if file.split('.')[-1] == "gz" and file.split('.')[-2] == "txt"]