我有一个字符串列表myList
(类名)。我正在遍历文件名,我想知道文件名是否包含列表中的任何类。
我尝试了以下操作:
for file in os.llistdir(path):
if any((for s in myList) in file):
print(file)
例如,如果列表为myList=['aa', 'ab']
,文件为fooaa.txt
,fooab.txt
,foocc.txt
,foock.txt
,则我希望代码输出:
fooaa.txt
fooab.txt
有没有更好的方法?我究竟做错了什么?
答案 0 :(得分:3)
看起来像您需要的。
for file in os.listdir(path):
if any(i in file for i in myList):
print(file)
或使用正则表达式。
例如:
import re
pattern = re.compile("|".join(myList))
for file in os.listdir(path)::
if pattern.search(file):
print(file)
答案 1 :(得分:3)
这是使用any
编写测试的正确语法:
for file in os.listdir(path):
if any(s in file for s in myList):
print(file)