如何以正确的方式在 python 中使用 pathlib 排除路径目录中的文件?
How to exclude files in path directory using pathlib in python the proper way?
我有几个数据文件的数据路径,比如 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
元素似乎很愚蠢。有没有直接的方法从目录列表中排除?
我有几个数据文件的数据路径,比如 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
元素似乎很愚蠢。有没有直接的方法从目录列表中排除?