我有一个指向几个数据文件的数据路径,比如说data01.txt,data02.txt等。在处理期间,用户将提供数据的掩码文件(也可能通过外部工具)。屏蔽文件将包含字符串“ mask”,例如data01-mask.txt。
from pathlib import Path
p = Path(C:\Windowns\test\data01.txt)
dircontent = list(p.parent.glob('*'))
为我提供了所有文件路径作为Path
对象的列表,包括潜在的掩码。现在,我想要一个列表,该列表为我提供目录内容,但不包括任何包含掩码的文件。我有tried this approach可以使用花式正则表达式*![mask]*
,但是我无法使用它。
使用
dircontentstr = [str(elem) for elem in x]
filtereddir = [elem.find('mask') for elem in dircontentstr if elem.find('mask')==-1]
我可以获得预期的结果,但是然后转换回Path
元素似乎很愚蠢。是否有直接方法从目录列表中排除?