evgen34
Хорошо. Так как test_function будет выглядеть? Я хочу оставить елементы списка по маске типа *abc* в любом месте названия файла.
def test_function(path): #получить имя return #'abc' содержится в имени
['Волга','Гантели','гараж','вертолет']
filter(lambda x: x.upper().find(u"ГА") > -1,[u'Волга',u'Гантели',u'гараж',u'вертолет'])
import os, fnmatch def locate(pattern, root=os.curdir): for path, dirs, files in os.walk(os.path.abspath(root)): for filename in fnmatch.filter(files, pattern): yield os.path.join(path, filename) # пример использования for fname in locate("*abc*"): print(fname)
evgen34СПАСИБА на этом форуме выражается в нажатии зеленой кнопочки со знаком плюсика.
Rodegast,pyuser, СПАСИБА!
evgen34
Как, например, в спискеоставить только те, в которых содержится сочетание букв ‘га’ в любом регистре.['Волга','Гантели','гараж','вертолет']
>>> import re >>> >>> lst = ['Волга','Гантели','гараж','вертолет'] >>> >>> pat = re.compile(r'га', re.I) >>> out = list(filter(pat.search, lst)) >>> print(out) ['Волга', 'Гантели', 'гараж'] >>>