У меня есть путь к паре файлов данных, скажем, data01.txt, data02.txt и так далее.Во время обработки пользователь предоставит файлы масок для данных (возможно, также с помощью внешнего инструмента).Файлы маски будут содержать строку «маска», например, data01-mask.txt.
from pathlib import Path
p = Path(C:\Windowns\test\data01.txt)
dircontent = list(p.parent.glob('*'))
Предоставляет мне список всех путей к файлам в виде Path
объектов, включая потенциальные маски.Теперь я хочу список, который дает мне содержимое каталога, но не включает в себя любой файл, содержащий маску.Я попробовал этот подход , чтобы использовать необычное регулярное выражение *![mask]*
, но я не могу заставить его работать.
Используя,
dircontentstr = [str(elem) for elem in x]
filtereddir = [elem.find('mask') for elem in dircontentstr if elem.find('mask')==-1]
Я могу получить желаемый результат, но глупо потом преобразовывать обратно в Path
элементы.Есть ли прямой способ исключения из списка каталогов?